![]() |
Problem mit TBX und Plugin Schnittstelle
Hi,
ich habe ein Problem mit meiner Plugin Schnittstelle und zwar habe ich bei der LoadPlugin procedure einen kleinen Abschnitt zum erstellen eines TBX Menu Eintrags eingefügt. Funktioniert soweit alles, aber wenn ich dann das Programm beende bekomme ich diese Exception:
Code:
Hier der Code:
---------------------------
Benachrichtigung über Debugger-Exception --------------------------- Im Projekt App.exe ist eine Exception der Klasse EInvalidPointer aufgetreten. Meldung: 'Ungültige Zeigeroperation'. Prozess wurde angehalten. Mit Einzelne Anweisung oder Start fortsetzen. --------------------------- OK Hilfe ---------------------------
Delphi-Quellcode:
Komisch ist, dass wenn ich die Execute function eines Plugins aufrufe, kommt diese Exception nicht mehr.
procedure TPlugin.LoadPlugIn;
var ProcAddr: Pointer; LoadPlugInProc: TLoadPlugIn; begin // load library FHandle := LoadLibrary(PChar(DLLName)); if (FHandle = INVALID_HANDLE_VALUE) or (FHandle = 0) then // library could not be loaded Abort; ProcAddr := GetProcAddress(FHandle, 'LoadPlugIn'); if ProcAddr = nil then begin // plug-in load function is not exported, free library... FreeLibrary(FHandle); FHandle := INVALID_HANDLE_VALUE; // and abort Abort; end; try LoadPlugInProc := TLoadPlugIn(ProcAddr); // try executing the registration method if not LoadPlugInProc(FOwner.Owner, FPlugIn) then // registration failed, abort loading Abort else begin mainform.newitem := TTBXItem.Create(Mainform); mainform.newitem.Caption := FPlugin.GetName; mainform.pluginitem.Add(mainform.newitem); end; except // plug-in load function is not exported, free library... FreeLibrary(FHandle); FHandle := INVALID_HANDLE_VALUE; // and abort Abort; end; end; Ich hoffe ihr könnt mir helfen. MFG Chris. |
Re: Problem mit TBX und Plugin Schnittstelle
Hi,
ich habe auch mal eine so ähnlich Pluginschnitstelle gemacht (meine Prozedur heisst auch LoadPlugin :mrgreen:) versuch mal beim OnClose des Forms die geladenen Bibliotheken mit FreeLibrary() freizugeben. mfG mirage228 |
Re: Problem mit TBX und Plugin Schnittstelle
Mach ich ja, wenn ich kein TBX Item dem Menü hinzufüge kommt diese Exception ja nicht.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:32 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