Einzelnen Beitrag anzeigen

peterbelow

Registriert seit: 12. Jan 2019
Ort: Hessen
701 Beiträge
 
Delphi 12 Athens
 
#7

AW: Immer wieder beliebt: C-DLL in Delphi diesmal "character string array"

  Alt 7. Feb 2019, 12:57
Zitat:
long bschoc (const char * value,
long ndim,
long lenvals,
const void * array,
const long * order)
Ohne Dokumentation der Parameter kann man damit wenig anfangen. Dem Beispiel nach nach ist "array" in diesem Fall wohl ein Array von char *, d.h. der Parameter hätte eigenlich als const char** array deklariert sein müssen, wenn meine (lückenhafte) Kenntnis der C-Syntax korrekt ist. Eine mögliche Übersetzug wäre dann

function bschoc( Value: PAnsichar; ndim: Integer; lenvals: Integer; array: PPAnsiChar; order: PInteger): Integer; cdecl;

Für den Array könntest Du je nach Bedarf eine Variable vom Typ array [0..N] of PAnsiChar oder auch TArray<PAnsiChar> (wenn die Zahl der Element variable ist) verwenden und dann die Addresse des ersten Elementes des Arrays übergeben.

Was irgendwie nicht ins Bild passt ist der "ndim" Parameter, der erweckt in mir den Verdacht, dass man der Funktion eigentlich einen mehrdimensionalen array übergeben kann. Dann sollte lenvals aber als long * lenvals definiert sein, damit man damit die Zahls der Elemente pro Dimension übergeben kann. Das Beispiel übergibt die Zahl der Elemente in "ndim" und zeigt nicht, was lenvals da sein soll.
Peter Below
  Mit Zitat antworten Zitat