Einzelnen Beitrag anzeigen

pantarhei

Registriert seit: 22. Jul 2010
9 Beiträge
 
Delphi 7 Professional
 
#12

AW: String array als Parameter für externe DLL?

  Alt 30. Jul 2010, 10:50
Habe es dann endlich doch noch gefunden. Problem war das dynamische Array. Damit kam die C Dll nicht zurecht. Ich vermute mal wegen dem length prefix. Hier der Vollständigkeit wegen noch wie es jetzt funktioniert:

Type
Delphi-Quellcode:
type
  TArrayOfWideString= array[0..999] of WideString;
Deklaration
function Identify(var ATemplates: TArrayOfWideString; ATemplatesCount: int64; var ATemplateIndex: int64; var ARetCode: int64): Integer; cdecl; external 'Identify.dll'; Verwendung
Delphi-Quellcode:
var
  templateIndex, retCode: int64;
  templates: TArrayOfWideString;
  retval: integer;

//TODO: range checking for TArrayOfWideString needed

templates[0] := 'template1';
templates[1] := 'template2';

retVal := Identify(templates, 2, scanIndex, retCode);

Geändert von mkinzler (30. Jul 2010 um 11:00 Uhr) Grund: Code-Tags durch Delphi-Tags ersetzt
  Mit Zitat antworten Zitat