2010-11-29 6 views
2

Ich habe ein Eclipse-Plugin erstellt, das das Schreiben von Java-GUI-Anwendungen so einfach macht wie die Verwendung einer 4GL-Programmiersprache (Oracle Forms, Visual Basic usw.). Das Plugin erzeugt keinen GUI-Code, sondern Metadaten, die zur Laufzeit geparst werden. Ich erstelle eine Testlizenz innerhalb des Plugins, die aber das Plugin nicht mehr funktionieren lässt, wenn die Testlizenz abgelaufen ist. Ich bin mir nicht sicher, wie dies am besten umgesetzt werden kann. MAybe, um einen der Redakteure zu stoppen. Ich habe es geschafft, meine Lizenzierungssoftware (Protection! From JProductivity) zu integrieren, die aufgerufen wird, wenn der Benutzer versucht, einen meiner Editoren zu öffnen. Aber wie kann ich einen Editor daran hindern, ihn zu öffnen?Hinzufügen von Lizenzierungsunterstützung für Eclipse PDE

Jede Hilfe zu diesem Thema wäre sehr willkommen!

Antwort

1

Editor und seine Art wird immer durch Erweiterung beigetragen. Es gibt also keine gute Möglichkeit, diese Erweiterung zu entfernen, abgesehen von dem frühen Start Ihres Bundles. Aber ich denke nicht, dass es eine gute Übung ist.

So ist der bessere Weg Überprüfung wird Ihre Lizenz in EditorPart.init (IEditorSite, IEditorInput) oder create, werfen die Ausnahme in init Anruf oder nicht erstellen jedes Widget in create wenn die Lizenz ungültig ist oder abgelaufen.

+0

Hallo Kane. Ja, ich bin damit einverstanden, eine Erweiterung nicht zu entfernen, das war nicht meine Absicht. Ich zeige die Fehlermeldung bezüglich der Lizenz an und dann hoffte ich, den Editor zu stoppen. Wenn ich eine Exception (partInitException) in die Init des Editors werfe, wird der Editor mit einem hässlichen Stacktrace geöffnet, der als Seiteninhalt angezeigt wird. Ich habe versucht, die close() direkt aufzurufen, aber das verursachte Probleme. Ich habe auch den close in einen "run" gesetzt, so dass er nach dem Öffnen des Editors ausgeführt wurde. Der Effekt war, dass der Benutzer den Editor geöffnet sah und dann sofort geschlossen wurde. Beide sind keine großartigen Optionen. – Paul

+1

@Paul, können Sie Benutzern erlauben, Ihren Editor zu öffnen. In der Editor-Ansicht werden jedoch einige Wörter angezeigt, um ihnen mitzuteilen, dass die Lizenz abgelaufen oder ungültig ist. Geben Sie einen Hyperlink Ihrer Support-Site ein. Ich denke, es wäre freundlich. – Kane

Verwandte Themen