Hallo Thilo,
ich weiss nicht, ob sich schon jemand die Mühe gemacht, hat
naheliegend wäre es. Es ist aber auch so kein Problem:
Man nehme einen char array mit 257 char, verwendet ihn aber
erst ab Position 1 für nullterminierte Strings bis 255 char
Länge.
Vor Übergabe an Pascal bestimmt man die aktuelle Stringlänge
und trägt sie in das 0te Byte ein, dessen(!) Adresse übergibt
man an die Pascal-Routine.
Nach Rückkehr von Pascal entnimmt man die aktuelle Stringlänge
aus Byte 0 und füllt das char-array ab Pos 1 entsprechend mit
0 auf (es genügt auch eine 0).
Gruss Reinhard
Hallo Reinhard,
vielen Dank für den Vorschlag aber leider komm ich mit der Umsetzung nicht ganz zurecht. Leider will die Funktion mein Dateinamen aus dem OpenDialog1->FileName immer noch nicht verarbeiten.
Die Vorraussetzungen sind Folgende:
Definition der Funktion aus der DLL in der Headerdatei:
extern „C“ __declspec(dllimport) long __stdcall OpenDataFile(char &FileName) //Ist das mit dem Adressoperator so OK?
Der FileName ist in der orginal DelphiDLL vom Typ ShortString
Wie muss denn nun der Code aussehen damit ich den OpenDialog1.FileName an meine OpenDataFile-Funktion übergeben kann? Ich hoffe das macht keine zu großen Umstände, ich hab grade schon rumprobiert bin aber leider noch nicht so fit in C++.
Vielen Dank für die Hilfe
Gruss Thilo