Einzelnen Beitrag anzeigen

Rainer Wolff

Registriert seit: 25. Okt 2005
Ort: Bretten
321 Beiträge
 
Delphi 10.4 Sydney
 
#8

AW: Fehler mit externer DLL, Callback-Funktionen.

  Alt 9. Dez 2021, 11:34
Ein üblicher Fehler bei solchen Umsetzungen ist eine fehlende oder falsche Angabe der Calling Convention. Wenn die DLL in C geschrieben ist, vermutlich "cdecl". Aber das hast Du vermutlich schon überprüft.

Ansonsten könnte es evtl. sein, dass Du in Callbacks die VCL aufrufst. Da die Callbacks in einem anderen Threadkontext als dem des Hauptthreads erfolgen können, sollte man das definitiv nicht tun.
Klar, cdecl ist drin. Wie geschrieben, die Grundfunktionen laufen grundsätzlich, auch in Schleife mit x Durchläufen. Erst, wenn ich das ganze im fertigen Programm zusammenpacke und an verschiedenen Enden gleichzeitig Sachen passieren, dann knallt es.

Ich habe jetzt auch versucht, die Ergebnisse des Callbacks in eine Queue zu schreiben und per Timer abzuarbeiten, jetzt knallt es wieder an ganz anderer Stelle, wo vorher nie Probleme auftraten.
  Mit Zitat antworten Zitat