Hallo,
während das Auslesen der Seriennummer funktioniert bekomme ich beim Versuch, die Signatur der Finish-Transaktion auszulesen einen Zugriffsfehler.
Zusätzlich ist die angebliche Länge der Signatur irrsinnig groß.
Die Funktionsvereinbarung:
procedure worm_transaction_response_signature (TRES:IntPtr; const SIGNA:PUnChar ; var siglen: UInt64 ); // <-- richtig ??? cdecl; external 'WormAPI.dll';
Datentypen:
TUnChar = array of Byte; PUnChar = ^TUnchar;
die Prozedur:
function Tdefiner.GetTransSig: string;var bites : TBytes; i : UInt64; SIGLEN : UInt64 ; erg : string; B:Byte; aktsig : PUnchar; begin new(aktSig); SetLength(aktsig^, 512); worm_transaction_response_signature (Respob, // das "alte Responseobjekt von Start() aktSig, siglen);usw.
Dann kommt so ein Käse wie
siglen= 18369900232523579118 ,
das deutet doch auf einen mißlungenen Funktionsaufruf hin, oder ?
Andreas Rentsch
Hallo,
während das Auslesen der Seriennummer funktioniert bekomme ich beim Versuch, die Signatur der Finish-Transaktion auszulesen einen Zugriffsfehler.
Zusätzlich ist die angebliche Länge der Signatur irrsinnig groß.
Die Funktionsvereinbarung:
procedure worm_transaction_response_signature
(TRES:IntPtr;
const SIGNA:PUnChar ;
var siglen: UInt64 ); // <-- richtig ???
cdecl; external 'WormAPI.dll';
Datentypen:
TUnChar = array of Byte;
PUnChar = ^TUnchar;
die Prozedur:
function Tdefiner.GetTransSig: string;
var bites : TBytes;
i : UInt64;
SIGLEN : UInt64 ;
erg : string;
B:Byte;
aktsig : PUnchar;
begin
new(aktSig);
SetLength(aktsig^, 512);
worm_transaction_response_signature
(Respob, // das "alte Responseobjekt von Start()
aktSig,
siglen);
usw.
Dann kommt so ein Käse wie
siglen= 18369900232523579118 ,
das deutet doch auf einen mißlungenen Funktionsaufruf hin, oder ?