2010-11-29 24 views
2

J'ai développé un plug-in eclipse qui simplifie l'écriture d'applications Java GUI en utilisant un langage de programmation 4GL (Oracle Forms, Visual Basic, etc.). Le plugin ne génère aucun code graphique mais plutôt des métadonnées qui sont analysées lors de l'exécution. Je construis une licence d'essai dans le plugin, mais cela empêchera le plugin de fonctionner quand la licence d'essai sera épuisée. Je ne suis pas sûr de la meilleure façon de mettre en œuvre cela. MAybe d'arrêter l'ouverture d'une des éditeurs. J'ai réussi à intégrer mon logiciel de licence (Protection! De JProductivity), qui sera appelé lorsque l'utilisateur essaye d'ouvrir un de mes éditeurs. Mais comment puis-je empêcher un éditeur d'ouvrir?Ajout de la prise en charge des licences pour Eclipse PDE

Toute aide sur ce sujet serait grandement appréciée!

Répondre

1

L'éditeur et son type est toujours contribué par extension. Donc, il n'y a pas de bon moyen de supprimer cette extension en plus de démarrer tôt votre bundle. Mais je ne pense pas que ce soit une bonne pratique.

Ainsi, la meilleure façon est la vérification de votre licence EditorPart.init (IEditorSite, IEditorInput) ou createPartControl, jeter l'exception dans appel d'initialisation ou ne crée aucun widget dans createPartControl si la licence est invalide ou expiré.

+0

Salut Kane. Oui, je suis d'accord pour ne pas supprimer une extension, ce n'était pas mon intention. J'affiche le message d'erreur concernant la licence et j'espérais empêcher l'éditeur d'ouvrir. Si je lance une exception (partInitException) dans l'init de l'éditeur, l'éditeur s'ouvrira avec une piletrace laide affichée comme contenu de la page. J'ai essayé d'appeler le close() directement, mais cela a causé des problèmes. J'ai aussi mis la clôture dans un "run" afin qu'il s'exécute après l'ouverture de l'éditeur. L'effet était que l'utilisateur voyait l'éditeur ouvert, puis il se fermait immédiatement. Les deux options ne sont pas super. – Paul

+1

@Paul, vous pouvez autoriser les utilisateurs à ouvrir votre éditeur. Cependant, l'affichage de l'éditeur affiche certains mots pour leur dire que la licence a expiré ou n'est pas valide, et donne un lien hypertexte de votre site de support. Je pense que ce serait sympa. – Kane