Einzelnen Beitrag anzeigen

Robert Marquardt
(Gast)

n/a Beiträge
 
#3

Re: C++ DLL Header -> Delphi (Struct)

  Alt 29. Aug 2007, 15:48
Delphi-Quellcode:
type
  TUpdateFunc = procedure(Param1: Pointer; Param2: DWORD); cdecl;
  TCompletionRoutine = procedure(Param1: DWORD; Param2: Pointer); cdecl;

function EnrollEx(var stEnrolledTemplate: STBioTemplateEx; UpdateFunc: TUpdateFunc = nil; pvUpdateCOntext: Pointer = nil;
  CompletionRoutine: TCompletionRoutine = nil; pvCompletionContext: Pointer = nil): DWORD; cdecl; external 'BiometricDll.dll';
Der erste Parameter stEnrolledTemplate war falsch deklariert. Das var bewirkt eine Indirektion, also ist der Typ vom Pointer auf die Struktur aud den Strukturtyp zu aendern.
Die Parameter sind Callback-Prozeduren und ein zugehoeriger Context-Pointer den man bestimmt zu beliebigen Zwecken einsetzen kann. Der duerfte als der Pointer-Parameter der Callback-Prozedur uebergeben werden.
Die Defaultwerte fuer die Parameter kann man auch in Delphi implementieren.
  Mit Zitat antworten Zitat