Stringübergabe aus Delphi in C++ DLL
-
Hallo,
ich habe eine Frage:
wie muss ich eine Funktion deklarieren, wenn ich einen String übergeben haben will.
Die Funktion ist in einer DLL und wird von Delphi aus aufgerufen.
Die DLL ist eine MFC-DLL.
Beispiel:
extern "C" INT PASCAL EXPORT Aufruf (char* inhalt)
Vielen Dank für die Hilfe!
Gruß Wathlon
-
Hi,
das kommt darauf an, welchen Stringtyp du in Delphi verwendest.
Deine Beispielfunktion erwartet einen Pointer auf einen Nullterminiertes Char- Array.
Grüße, Volle.
-
Erst einmal vielen Dank für die Antwort!
Bis jetzt mache ich ein paar hilflose Versuche, und es ist mir eigentlich egal, welchen String-Typ ich verwende.
Ich dachte an PChar.
Aber ich bin für jede Hilfe dankbar.
Egal was ich bis jetzt gemacht habe, es funktioniert nicht!
Und das ist mein Problem. Für ein kleines Beispiel wäre ich sehr dankbar.Über eine weitere Antwort würde ich mich sehr freuen.
Griuß Wathlon
-
Hi,
na ja, ich kann leider auch nicht mit Delphi aufwarten - nur Pascal. Aber PChar hört sich nach PointerAufCharArray an. Da würde ich jetzt einfach mal sagen, du musst da noch ein Nullzeichen drankleben (#0) und dann sollte das gehen. Dein übergebener Pointer muss auf so etwas zeigen: "Hallo#0".
Hope it helps!?
Grüße, Volle.
-
Vielen Dank!
Habe das Problem gelöst:
Die DLL einfach dynamisch einbinden, und dann gehts.
Bisher hatte ich es statisch, und das ging nicht!
Gruß Wathlon