RCP Doppelklick auf "XMLFile.myfiletype" soll meine App starten und XML einlesen

Ahuga

Aktives Mitglied
Hallo zusammen

Ein Doppelklick auf eine XML-Datei mit einem eigenen Dateitypen "MyFile.myfiletype" soll meine RCP-Applikation starten und gleich meinen Loadmechanismus (XML einlesen) starten. Ansonsten soll die App normal ohne den Loadmechanismus starten.

Über die Systemsteuerung kann ich den Dateitypen mit meiner Applikation verknüpfen. Wie kann ich aber den Loadmechanismus anwerfen, wenn mein Dateityp doppelgeklickt wird?

Wird ev. der Dateiname als Start-Parameter übergeben? Wenn ja, wie kann ich die auslesen?

Oder was wäre ein guter Ansatz?

Herzlichen Dank für Tipps.
 

Wildcard

Top Contributor
Der Trick ist die defaultAction des Launchers in der eclipse.ini:
Code:
--launcher.defaultAction
openFile
Der Zeilenumbruch ist wichtig.
 

Ahuga

Aktives Mitglied
Herzlichen Dank für den Tipp.

Wie muss ich Deinen Code einbauen? Da fehlt mir der Zusammenhang.

Wenn Du das noch ein bischen ausführen könntest wäre ich froh.
 

Wildcard

Top Contributor
Verknüpft man ein Programm mit einer Dateityp, dann gibt das Betriebssystem den Dateipfad an den Launcher des Programms als Argument weiter.
Das Programm muss nun entscheiden was mit diesem Argument zu tun ist. Du möchtest die Datei öffnen und diese Funktionalität ist bei Eclipse bereits built-in.
Über das Argument --launcher.defaultAction wird gesteuert was Eclipse tun soll wenn eine Datei beim Start übergeben wird. Der Wert openFile steht für 'Öffne den passenden Editor für den Dateityp'.

Diese beiden Zeilen müssen in die eclipse.ini deines RCP. Ich weiß wirklich nicht wie ich es noch ausführlicher schreiben kann...

Andrew Niefer: Opening files in Eclipse from the command line
 

Ahuga

Aktives Mitglied
Da bin ich gehörig auf der Leitung gestanden. Danke für den Hinweis.

Nun läuft die ganze Sache. Dieser Link war sehr von Nutzen:
Help - Eclipse Platform

Nicht zu vergessen im bereits erwähnten ... .ini File die Einträge:
--launcher.defaultAction
openFile
-name
MyApplication (Hier muss der selbe Name stehen, wie im xy.product: tab Overview: Name, ansonsten wird kein openFile Event abgefangen)
 

Neue Themen


Oben