![]() |
DLL (c++) in Delphi nutzen
Hallo zusammen!
Ich stehe vor einem kleinen Problem. Ich habe eine DLL, in der lt. Header-Datei folgende Function beschrieben wird:
Delphi-Quellcode:
Meine Implementierung in Delphi sieht folgendermaßen aus:
THIRDDLL bool ThirdOpenRS232Mode(unsigned char ComPort, unsigned int Speed, unsigned char DataMode, int* Obj);
Delphi-Quellcode:
Aufgerufen wird die Funktion folgedermaßen:
function ThirdOpenRS232Mode (ComPort: byte; Speed: word; DataMode: byte;
Obj : Pointer): boolean; stdcall; external '3rd_DLL2.dll';
Delphi-Quellcode:
Leider gibt es eine Schutzverletzung. Ich denke, die Deklarationi ist richtig! Kann mir jemand eine Lösung bzw. einen Lösungsansatz anbieten?
var obj : integer;
procedure TForm1.Button1Click(Sender: TObject); var freeports : integer; begin try ThirdOpenRS232Mode(1,9600,0,@obj); except end; end; Gruß Nils |
Re: DLL (c++) in Delphi nutzen
Ich habe da keine große Erfahrung, aber müsste es nicht so heißen?
Delphi-Quellcode:
function ThirdOpenRS232Mode (ComPort: byte; Speed: Cardinal; DataMode: byte;
var Obj: integer): boolean; stdcall; external '3rd_DLL2.dll'; |
Re: DLL (c++) in Delphi nutzen
Roter Kasten kam dazwischen, das noch ergänzend zu DeddyHs Beitrag:
Du solltest einmal nachschauen, ob THIRDDLL wirklich __stdcall enthält. Eventuell ist der C++-bool nicht 1:1 kompatibel mit Delphi-Boolean, aber das weiß ich ehrlich gesagt nicht. |
Re: DLL (c++) in Delphi nutzen
Danke für die schnellen Antworten. Leider haben mir beide Tipps nicht weitergeholfen. Noch jemand eine Idee?
|
Re: DLL (c++) in Delphi nutzen
Noch ein Versuch:
Delphi-Quellcode:
Aber wie gesagt: ich kann da auch nur raten.
function ThirdOpenRS232Mode (ComPort: byte; Speed: Cardinal; DataMode: byte;
var Obj: integer): bool; cdecl; external '3rd_DLL2.dll'; |
Re: DLL (c++) in Delphi nutzen
Danke DeddyH!
Die Funktion funktioniert jetzt jetzt - true wird zurückgegeben und die Schutzverletzung ist auch weg! :thumb: :thumb: Gruß Nils |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:23 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