RCP, Fehler beim MultiPageEditor, Widget is disposed

Javahexe74

Mitglied
Hallo!

Ich erstelle gerade eine RCP-Anwendung mit Eclipse 3.5! Jetzt habe ich ein Problem mit dem MultiPageEditor. Nachdem ich jetzt einige Foren durchsucht habe und viel gegooglet habe und immer noch keine Lösung habe, versuche ich es mal hier.

Ich habe eine View und immer wenn ich auf eine Zeile der View doppelklicke, soll sich ein Editor öffnen. Das funktioniert auch alles wunderbar. Wenn der Editor zu einer bestimmten Zeile schon geöffnet ist, soll er nicht noch mal geöffnet werden, sondern der offene angezeigt (aktiviert) werden. Auch das klappt alles gut. Wenn ich jetzte mehrere Editoren zu verschieden Zeilen geöffnet habe und dann Änderungen mache, so dass mehrere Editoren dirty sind und dann einen Editor der dirty ist schließe, werde ich gefragt, ob ich die Änderungen speichern möchte. Wenn ich das dann mache und dann einen anderen Editor aktiviere, bekomme ich folgenden Fehler. Widget is disposed!!! ???:L

Wo kann mein Fehler liegen. An welcher Stelle mache ich was falsch.

Würde mich über einen Tipp sehr freuen.

Gruß von der Javahexe
 
Das kann an vielem liegen...
Machst du irgendwas mit Listener und Events???Meistens sagt der Fehler doch wo du auf ein widget zugreifst dass es nicht mehr gibt...
Wie aktivierst du deinen Editor wieder??? Hast du das im IEditorInput gemacht?
 
Hallo,

danke für die schnelle Antwort.

Ja, ich arbeite mit Listener. Mit keyListener und MouseListener und FocusListener.

Ich aktiviere meinen Editor wieder, in dem ich ihn anklicke.
Was muss ich denn dafür im IEditorInpit machen?

Würde dir etwas Code oder die Fehlermeldung weiterhelfen?

Gruß Javahexe
 
Nicht nur aktivieren auch dass du ihn nur einmal öffnen kannst
Editoren in Eclipse RCP


Zu deinem Problem in welcher Zeile kommt denn die Fehlermeldeung? Siehst du doch im log wo der Fehler auftritt... So kann man schlecht dazu was sagen...
 
Ich weiß jetzt, an welcher Stelle mein Fehler auftritt. Allerdings habe ich noch keine Idee, wie ich den Fehler beheben kann. ???:L

Ich meinem Editor Buttons hinzugefügt, die den selektierten Text im Editor formatieren soll. Dafür habe ich eine IEditorActionDelecate Klasse geschrieben. In der Methode setActiveEditor wird ja der Editorpart übergeben und an dieser Stelle habe ich dann einen Keylistener und einen MouseListener, die ich erst remove und dann hinzufüge. Wenn ich jetzt allerdings einen Editor speichere und schließe und dann in einen anderen Editor klicke. Möchte er einen Listener entfernen, der schon weg ist und ich bekomme die Fehlermeldung Widget is disposed.

Hat jemand eine Idee, wie ich den Fehler beheben kann?

Gruß Javahexe
 

Zurück
Oben