Einzelnen Beitrag anzeigen

Benutzerbild von igel457
igel457

Registriert seit: 31. Aug 2005
1.622 Beiträge
 
FreePascal / Lazarus
 
#8

Re: Zugriffsverletzung bei DLL-Benutzung

  Alt 28. Okt 2008, 17:33
Ich verstehe nicht warum, immer alle sagen, zwischen DLL und Host könnten keine Objekte ausgetauscht werden. In meiner 2D Bibliothek mache ich das ständig und das funktioniert einwandfrei. Wer es nicht glauben kann schaut hier nach:

DLL-Hauptunit:
http://andorra.cvs.sourceforge.net/v...22&view=markup

DLL-Klassenimplementierungen:
http://andorra.cvs.sourceforge.net/v...53&view=markup

Die einzige Einschränkung, die mir bis jetzt aufgefallen ist, ist die Tatsache, dass man nicht auf die RTTI Informationen der im Plugin erzeugten Objekte zugreifen kann und das man in der DLL keine größeren Speicherbereiche reservieren kann, auf die dann die Hostapplikation zugreifen darf. In die andere Richtung geht jedoch auch das einwandfrei.

Ich schätze das die BPLs zum großen Teil nur das Problem mit den RTTI Informationen beheben.

Daher vermute ich, dass das hier geschilderte Problem von den in der DLL verwendeten Units kommt, die beim Entladen der Bibliothek versuchen Finalisierungsarbeiten auszuführen, die dann (also in der Bibliothek) jedoch nicht funktionieren.
Andreas
"Sollen sich auch alle schämen, die gedankenlos sich der Wunder der Wissenschaft und Technik bedienen, und nicht mehr davon geistig erfasst haben als die Kuh von der Botanik der Pflanzen, die sie mit Wohlbehagen frisst." - Albert Einstein
  Mit Zitat antworten Zitat