Einzelnen Beitrag anzeigen

Robert Marquardt
(Gast)

n/a Beiträge
 
#3

Re: Problem mit Delphi & DLL & Pointern

  Alt 16. Mär 2006, 13:52
Es muss die Funktion pcimfb2InitBoardsStdCall benutzt werden. Es ist nicht ersichtlich welche Calling Convention die andere Version hat.
Dazu gleich noch einen Trick. Der Delphi-Name und der externe Name duerfen unterschiedlich sein.
In diesem Fall ist die Konversion von "BYTE *" korrekt. In Delphi sind unterschiedliche Konversionen dafuer moeglich.
Es koennte naemlich auch der Zeiger auf das erste Byte eines Puffers sein. die Konversion waere dann "Param: PByte".
Boolean ist keine gute Konversion von BOOLEAN. ByteBool ist angemessener.

function pcimfb2InitBoards(var a_bAnzBoards: Byte): ByteBool; external 'PCIMFB2.dllname 'pcimfb2InitBoardsStdCall'; Probier mal das sollte funktionieren.
  Mit Zitat antworten Zitat