Einzelnen Beitrag anzeigen

Benutzerbild von FriFra
FriFra

Registriert seit: 19. Apr 2003
1.291 Beiträge
 
Delphi 2005 Professional
 
#1

DLL funktion wohl nicht ganz korrekt nach Delphi portiert...

  Alt 3. Aug 2009, 03:12
Ich habe die Moeller-Easy-Api anhand der Beispiele für VB und C nach Delphi portiert. Alle Funktionen, bis auf eine funktionieren.

Code:
   Declare Function Unlock_Device Lib "EASY_COM.DLL" _
   (ByVal net_id As Byte, _
    ByVal szPassword As String, _
    ByRef Errorcode As Byte) As Integer
Code:
error = MC_Unlock_Device( Handle_B, 0, (LPCSTR) m_csPasswort_B, &errorcode );
Delphi-Quellcode:
function Unlock_Device(net_id: Byte; szPassword: string; Errorcode: Pointer):
  integer; stdcall; external 'EASY_COM.DLLname 'Unlock_Device';
Beim Aufruf bekomme ich unter Delphi von der dll die Meldung, dass ein ungültiger Parameter übergeben wurde.

Delphi-Quellcode:
var
  n: Integer;
  y1: byte;
  s1: string;
  p1: pointer;
begin

...

            n := Unlock_Device(y1, PChar(s1), p1);
Der einzige Unterschied, zu allen anderen Funktionen ist hier die Übergabe des String. Die Parameter: "net_id" und den Pointer auf "errorcode" verwende ich genauso in div. anderen Funktionen der dll und da klappt es.
Elektronische Bauelemente funktionieren mit Rauch. Kommt der Rauch raus, geht das Bauteil nicht mehr.
  Mit Zitat antworten Zitat