Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Datenaustausch zwischen 2 DLL Dateien möglich? (https://www.delphipraxis.net/128045-datenaustausch-zwischen-2-dll-dateien-moeglich.html)

Brainshock 23. Jan 2009 07:53


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

Sherlock 23. Jan 2009 08:57

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

Bernhard Geyer 23. Jan 2009 09:48

Re: Datenaustausch zwischen 2 DLL Dateien möglich?
 
Und die Aufrufkonvention (cdecl, stdcall) sollte bei einer Headerkonvertierung auch überprüft werden.

DMW 24. Jan 2009 15:40

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