Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Plugin-Framework > AV bei Programm-Ende (https://www.delphipraxis.net/85217-plugin-framework-av-bei-programm-ende.html)

Pfoto 27. Jan 2007 14:05


Plugin-Framework > AV bei Programm-Ende
 
Liste der Anhänge anzeigen (Anzahl: 1)
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

Die Muhkuh 27. Jan 2007 15:54

Re: Plugin-Framework > AV bei Programm-Ende
 
Hallöchen,

mir scheint, dass Du vergessen hast, einige Dateien beizulegen. Beispielsweise spuckt mein Delphi7 aus, wenn ich compilieren will:

Der Delphi7 Compiler spricht
[Fataler Fehler] Package 'upf6070' wird benötigt, konnte aber nicht gefunden werden


Könntest Du dieses Package nachliefern?

Pfoto 27. Jan 2007 15:56

Re: Plugin-Framework > AV bei Programm-Ende
 
Hi!

Oh, ich dachte ich hätte diese Datei schon rausgenommen.

Bitte einfach unter "Projekt" > "Optionen" > "Packages"
die Datei bei "Mit Laufzeitpackages aktualisieren" herausnehmen.


Ich werde gleich noch eine bereinigte Version bereitstellen.

Gruß
Pfoto


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:45 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz