![]() |
Datenaustausch zwischen 2 DLL Dateien möglich?
Moin,
ich habe hier 2 DLL's von einem Drittanbieter, die ich mit meinem Programm benutzen möchte. Die eine lädt ein Bild und die andere verarbeitet es. Das Bild wird dabei als Zeiger übergeben. Da es in Delphi an der Stelle wo das Bild verarbeitet werden soll zu einer Zugriffsverletzung kommt nun meine Frage: Ist ein Datenaustausch zwischen den DLL's über Zeiger in Delphi so möglich (wegen verschiedenen Speicherbereichen und so) ? PS: Das C Demo des Drittanbieters funktioniert so. Gruß Matthias |
Re: Datenaustausch zwischen 2 DLL Dateien möglich?
Die DLLs werden in den Speicherbereich Deiner Anwendung geladen. Sie teilen sich also den gleichen Speicher, Pointer sollten funktionieren. Worauf man halt bei der Verwendung von nonDelphi DLLs achten sollte sind die Datentypen. Prüfe also, ob Du irgendeine Konvertierung des von der einen DLL erhaltenen Typen vornimmst, bevor Du ihn an die andere DLL gibst.
Sherlock |
Re: Datenaustausch zwischen 2 DLL Dateien möglich?
Und die Aufrufkonvention (cdecl, stdcall) sollte bei einer Headerkonvertierung auch überprüft werden.
|
Re: Datenaustausch zwischen 2 DLL Dateien möglich?
Auch muß die Speicherfreigabe im demjenigen Modul stattfinden, das den Speicher angefordert hat.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:34 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