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.DLL' name '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.