Hallo zusammen und ein gesundes neues Jahr (auch wenn das jetzt recht verspätet kommt)!
Ich sitze zwar immer noch die ganze Zeit am Proggn von RCP-Zeug, konnte mich aber mehr oder weniger auf die Basics beschränken (Editoren, jede Menge Views, Jobs, Dialoge, Wizards, ...)
Leider habe ich ein Grundproblem noch immer nicht ändern können: Das Laden von eigenen PlugIns...
(Bitte nicht allzu sehr meckern, wenn es Grütze ist...)
Ich hab schon vor längerer Zeit eine Extension Point angelegt, in der als ein Attribut einmal die entsprechende Bundle-Id liegt (damit starte ich das Bundle direkt - Plattform.getBundle(id).start() - und danach lade ich mit
String model2loadString = e.getAttribute(class);
Class<TaskModel> loadClass = bundle2load.loadClass(model2loadString);
TaskModel model2load = loadClass.newInstance();
die Klasse die ich laden will (ich weiß nicht, ob das auch über Object o = e.createExecutableExtension(class); machen könnte).
Danach würde ich, weil das TaskModel IAdapable oder besser PlattformObject erweitert, es an mein bestehendes Model, welches im CommonNavigator angezeigt wird, anhängen.
Problem: Klappt nicht.
Es kommt auch gern mal der Fehler
Ok, ich hab ja der einfachheit halber erst alles in der hauptanwendung geschrieben, weil es mit dem PlugIn nicht geklappt hat... vielleicht liegt es an der doppelten benennung - wobei die Editoren ja dann schon andere IDs haben als vorher...
Ich weiß es nicht...
Wenn jemand konstruktive vorschläge hat, ich wär dafür offen - es drängt nicht, wär aber schön es mal irgendwann gebacken zu bekommen.
Danke euch allen schon mal.
PS: Vielleicht gibt es ja eine Variante den CommonNavigator beim start des PlugIns (also im Activator) zu überzeugen, die Daten anzuhängen, aber dafür verstehe ich das CNF wahrscheinlich zu wenig
Ich sitze zwar immer noch die ganze Zeit am Proggn von RCP-Zeug, konnte mich aber mehr oder weniger auf die Basics beschränken (Editoren, jede Menge Views, Jobs, Dialoge, Wizards, ...)
Leider habe ich ein Grundproblem noch immer nicht ändern können: Das Laden von eigenen PlugIns...
(Bitte nicht allzu sehr meckern, wenn es Grütze ist...)
Ich hab schon vor längerer Zeit eine Extension Point angelegt, in der als ein Attribut einmal die entsprechende Bundle-Id liegt (damit starte ich das Bundle direkt - Plattform.getBundle(id).start() - und danach lade ich mit
String model2loadString = e.getAttribute(class);
Class<TaskModel> loadClass = bundle2load.loadClass(model2loadString);
TaskModel model2load = loadClass.newInstance();
die Klasse die ich laden will (ich weiß nicht, ob das auch über Object o = e.createExecutableExtension(class); machen könnte).
Danach würde ich, weil das TaskModel IAdapable oder besser PlattformObject erweitert, es an mein bestehendes Model, welches im CommonNavigator angezeigt wird, anhängen.
Problem: Klappt nicht.
Es kommt auch gern mal der Fehler
Code:
!ENTRY org.eclipse.osgi 4 0 2009-01-19 16:54:02.499
!MESSAGE Application error
!STACK 1
org.eclipse.swt.SWTError: Not implemented [multiple displays]
at org.eclipse.swt.SWT.error(SWT.java:3803)
at org.eclipse.swt.widgets.Display.checkDisplay(Display.java:712)
at org.eclipse.swt.widgets.Display.create(Display.java:842)
at org.eclipse.swt.graphics.Device.<init>(Device.java:154)
at org.eclipse.swt.widgets.Display.<init>(Display.java:471)
at org.eclipse.swt.widgets.Display.<init>(Display.java:462)
at org.eclipse.ui.internal.Workbench.createDisplay(Workbench.java:525)
at org.eclipse.ui.PlatformUI.createDisplay(PlatformUI.java:161)
at myApp.rcp.pfs.PFSApplication.start(PFSApplication.java:18)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:193)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:386)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:549)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
at org.eclipse.equinox.launcher.Main.main(Main.java:1212)
Ok, ich hab ja der einfachheit halber erst alles in der hauptanwendung geschrieben, weil es mit dem PlugIn nicht geklappt hat... vielleicht liegt es an der doppelten benennung - wobei die Editoren ja dann schon andere IDs haben als vorher...
Ich weiß es nicht...
Wenn jemand konstruktive vorschläge hat, ich wär dafür offen - es drängt nicht, wär aber schön es mal irgendwann gebacken zu bekommen.
Danke euch allen schon mal.
PS: Vielleicht gibt es ja eine Variante den CommonNavigator beim start des PlugIns (also im Activator) zu überzeugen, die Daten anzuhängen, aber dafür verstehe ich das CNF wahrscheinlich zu wenig