Einzelnen Beitrag anzeigen

Pfoto

Registriert seit: 26. Aug 2005
Ort: Daun
541 Beiträge
 
Turbo Delphi für Win32
 
#1

Plugin-Framework > AV bei Programm-Ende

  Alt 27. Jan 2007, 15:05
Hallo zusammen!

ich habe mir dank Sakuras Plugin-Tutorial und ein paar Vorschlägen hier im Forum
für eine Interface-basierte Schnittstelle ein Plugin-Framework zusammengeschustert...
Zusätzlich hatte ich das Ziel, das anstatt DLLs jetzt BPLs geladen werden.

Es funktioniert in soweit, dass das Plugin mit der Anwendung kommuniziert,
in meinem Beispiel sendet das Plugin einen Text in eine Memo-Komp.

Beim Beenden des Programms wird leider eine Schutzverletzung von "EInvalidPointer"
erzeugt. Ich habe versucht, schrittweise mit dem Debugger durchzugehen,
bin aber nicht fündig geworden (und wie gesagt, ich verwende Sakuras Plugin-Klassen
als Basis)

Ich vermutete, dass der Fehler in der Handhabung der Interfaces liegt,
die ich vielleicht zu unrecht freigegeben habe (wird ja automatisch erledigt)
Doch so weit ich es richtig verstanden habe, ist dies ja nur der Fall,
wenn ich meine Instanz auch vom Interface und nicht von der Klasse ableite, richtig?




Ich habe das Projekt mal angehangen -- es ist nicht sehr groß und kann sofort
kompiliert werden (erzeugt mit Delphi 7 ohne Fremdkomponenten).


Vielleicht sieht ja ein erfahrenerer Programmierer schon auf den ersten Blick,
was hier nicht stimmt... würde mich freuen.


****
Edit: Ich habe eine neue Version hochgeladen, die nur die Packages
rtl und vcl benötigt. Das Projekt muss ja mit diesen Laufzeitpackages
compiliert werden.

Ich glaube der Fehler liegt daran, das die PlugIns über das Interface
instantiert wurden, anstatt über eine Klasse... Werde weiter probieren...
****




Dank und Gruß
Pfoto
Angehängte Dateien
Dateityp: zip demo_interface-plugin-framework_985.zip (49,7 KB, 16x aufgerufen)
Jürgen Höfs
  Mit Zitat antworten Zitat