Einzelnen Beitrag anzeigen

Niko

Registriert seit: 23. Jun 2003
416 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Abbildung einer C-Funktion nach Delphi

  Alt 27. Dez 2009, 12:07
Hi,

Code:
static int callback(void *NotUsed, int argc, char **argv, char **azColName)
char** ist ein Zeiger auf einen Zeiger auf char oder, was in C das gleiche ist, ein Array von Zeichenarrays (= nullterminierten Strings).

In Delphi muss das dann so aussehen:
Delphi-Quellcode:
type
  PPCharArray = ^PCharArray;
  PCharArray = Array[0..0] of PChar;

Function zielfunktion1( NotUsed: Pointer; argc: Integer; argv: PPCharArray; azcolname: PPCharArray): Integer; cdecl;
Korrekt wäre auch:
Delphi-Quellcode:
type
  PPChar = ^PChar;

Function zielfunktion1( NotUsed: Pointer; argc: Integer; argv: PPChar; azcolname: PPChar): Integer; cdecl;
Aber dann kannst du nur über Zeigerarithmetik auf das Array zugreifen und nicht über Indizes.
"Electricity is actually made up of extremely tiny particles called electrons, that you cannot see with the naked eye unless you have been drinking." (Dave Barry)
  Mit Zitat antworten Zitat