![]() |
C++ DLL (Funktion) nach Delphi
Ich möchte eine DLL nutzen, wofür es auch ein Beispiel in C gibt:
Code:
Wie müsste diese in Delphi deklariert werden? Ich habe schon eine DLL eines anderen Herstellers implementiert. Dort hatte ich einige Zeit gebraucht, um das korrekt zu Implementieren. Ich denke da an cdecl oder ?
IPC_API HRESULT WINAPI InitIPC(WORD index);
|
AW: C++ DLL (Funktion) nach Delphi
Meinst Du sowas wie
Delphi-Quellcode:
?
function InitIPC(Index: Word): HRESULT; stdcall; external 'name der.dll';
|
AW: C++ DLL (Funktion) nach Delphi
WINAPI ist schonmal stdcall und nicht cdecl ;-)
Was IPC_API ist? Keine Ahnung. Steht da nicht mehr? |
AW: C++ DLL (Funktion) nach Delphi
Zitat:
Code:
Vielleicht hilft das noch weiter.
#ifdef IPC_EXPORTS
#define IPC_API __declspec(dllexport) #else #define IPC_API __declspec(dllimport) #endif #ifndef WINAPI #define WINAPI __stdcall #endif #ifndef HRESULT #define HRESULT long #endif |
AW: C++ DLL (Funktion) nach Delphi
Zitat:
Code:
wobei NameDLL, wie zu vermuten, der Name der DLL ist.
function OttOpen: int32_t stdcall; external NameDLL name 'OttOpen';
|
AW: C++ DLL (Funktion) nach Delphi
Bedeutet das, dass das was ich schrieb funktioniert oder wie soll ich das interpretieren?
|
AW: C++ DLL (Funktion) nach Delphi
Zitat:
Das kann ich erst morgen testen. Ich gebe dann wieder Bescheid. |
AW: C++ DLL (Funktion) nach Delphi
Ja gern geschehen, external 'name der.dll'; <- nicht vergessen mit richtigen Namen auszutauschen.
Ich kenne ja dll name nicht. Viel Erfolg dabei! |
AW: C++ DLL (Funktion) nach Delphi
Das
Code:
ist lediglich die C/C++ Art mit Exports über Library/Dll Grenzen umzugehen. Die Library selbst definiert
#ifdef IPC_EXPORTS
#define IPC_API __declspec(dllexport) #else #define IPC_API __declspec(dllimport) #endif
Delphi-Quellcode:
, wodurch die entsprechend gekennzeichneten Funktionen dann exportiert (
IPC_EXPORTS
Delphi-Quellcode:
) werden und jedes Projekt, was die Library verwendet, definiert das Macro nicht, wodurch der Linker weiß, dass die Funkionen in einer Dll liegen (
dllexport
Delphi-Quellcode:
was gleichbedeutend ist mit Delphis
dllimport
Delphi-Quellcode:
).
external
|
AW: C++ DLL (Funktion) nach Delphi
Dank für eure Tipps.
Ich habe nun die ersten Werte bekommen mit folgendem Aufruf:
Code:
Const NameDLL = 'IPC.DLL';
function InitIPC(index: word): HRESULT; stdcall; external NameDLL name 'InitIPC'; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:44 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