Hallo,
ich versuche verzweifelt eine C-DLL mit D5 zu verwenden.
Manche Befehle funktionieren wunderbar, bei anderen hab ich keine Ahnung warum es nicht klappt.
Ich denke ich übergebe die falschen Variablentypen und Zeiger.
Wenn ich von C aus auf die DLL zugreife gibt es keine Probleme.
Hier die Datentypen in C:
typedef unsigned char DBL_U8; /was ist das in Delphi ?? Char oder Byte <br>
typedef unsigned short int DBL_U16; / = word <br>
typedef signed short int DBL_S16; / = SmallInt <br>
typedef singed long int DBL_S32 / = Longint <br>
typedef DBL_S32* DBL_HTABLE; / Handle für eine Tabelle <br>
... <br>
Das waren die wichtigsten.<br>
Folgende Funktionsdeklaration ist in der C-Doku:<br>
void DBL_Field2Str(DBL_U8* Str, DBL_16 Size, DBL_HTable hTable,
void* Rec, DBL_U8 FieldNo); <br>
Im C-Code sieht dieser Aufruf folgendermaßen aus: <br>
DBL_HTABLE hTable; <br>
DBL_U8 *Rec; // ist das ein Zeiger auf ein DBL_U8 also ein PChar ?<br>
DBL_U8 Str[11] <br>
...
DBL_Field2Str(Str,12, hTable, Rec, 23);<br>
Welche Typen sind das in Delphi (vorallem das *Rec irritiert mich)<br>
Noch ein Beispiel:<br>
DBL_AllocRec(DBL_HTABLE hTable, void** RecPtr); /was sollen die Sterne?<br>
im Code:<br>
DBL_U8 *Rec; // ist das jetzt ein Pointer oder nicht ? <br>
...
DBL_AllocRec(hTable, &Rec); // was macht das &, oder ist das ein Pointer <br>
Bitte helft mir !!!! <br>
Danke <br>
Florian Backes
ich versuche verzweifelt eine C-DLL mit D5 zu verwenden.
Manche Befehle funktionieren wunderbar, bei anderen hab ich keine Ahnung warum es nicht klappt.
Ich denke ich übergebe die falschen Variablentypen und Zeiger.
Wenn ich von C aus auf die DLL zugreife gibt es keine Probleme.
Hier die Datentypen in C:
typedef unsigned char DBL_U8; /was ist das in Delphi ?? Char oder Byte <br>
typedef unsigned short int DBL_U16; / = word <br>
typedef signed short int DBL_S16; / = SmallInt <br>
typedef singed long int DBL_S32 / = Longint <br>
typedef DBL_S32* DBL_HTABLE; / Handle für eine Tabelle <br>
... <br>
Das waren die wichtigsten.<br>
Folgende Funktionsdeklaration ist in der C-Doku:<br>
void DBL_Field2Str(DBL_U8* Str, DBL_16 Size, DBL_HTable hTable,
void* Rec, DBL_U8 FieldNo); <br>
Im C-Code sieht dieser Aufruf folgendermaßen aus: <br>
DBL_HTABLE hTable; <br>
DBL_U8 *Rec; // ist das ein Zeiger auf ein DBL_U8 also ein PChar ?<br>
DBL_U8 Str[11] <br>
...
DBL_Field2Str(Str,12, hTable, Rec, 23);<br>
Welche Typen sind das in Delphi (vorallem das *Rec irritiert mich)<br>
Noch ein Beispiel:<br>
DBL_AllocRec(DBL_HTABLE hTable, void** RecPtr); /was sollen die Sterne?<br>
im Code:<br>
DBL_U8 *Rec; // ist das jetzt ein Pointer oder nicht ? <br>
...
DBL_AllocRec(hTable, &Rec); // was macht das &, oder ist das ein Pointer <br>
Bitte helft mir !!!! <br>
Danke <br>
Florian Backes
Comment