[firebird-support] Manipulating BLOBs in a x64 UDF compiled with Delphi XE2

2012-06-18 Thread Josef Kokeš
Hi! Having bought Delphi XE2, I tried to compile my old (well, very old) UDF in a 64bit mode. I expected a total fail, because the UDF was written in Delphi 5 for Interbase 6.0, but after I fixed string types, the UDF actually works with Firebird 2.1 x64. With one exception - a function which

Re: [firebird-support] Manipulating BLOBs in a x64 UDF compiled with Delphi XE2

2012-06-18 Thread Josef Kokeš
The function: function STRBLOB(Value: PAnsiChar; Dest: PBlob): PBlob; begin Result := Dest; Dest^.PutSegment(Dest^.BlobHandle, Value, StrLen(Value)) end; That's CDECL, too. I copied it from the implementation rather than from the interface. Josef Kokes

Re: [firebird-support] Manipulating BLOBs in a x64 UDF compiled with Delphi XE2

2012-06-18 Thread Dmitry Kuzmenko
Hello, Josef! Monday, June 18, 2012, 10:18:57 AM, you wrote: JK function STRBLOB(Value: PAnsiChar; Dest: PBlob): PBlob; cdecl JK The blob record (probably wrong for x64): JKTISC_BlobGetSegment = function(BlobHandle: PInt; JK Buffer: PAnsiChar; JK BufferSize: LongInt; JK var

Re: [firebird-support] Manipulating BLOBs in a x64 UDF compiled with Delphi XE2

2012-06-18 Thread Josef Kokeš
Hi! Hello, Josef! Monday, June 18, 2012, 10:18:57 AM, you wrote: JK function STRBLOB(Value: PAnsiChar; Dest: PBlob): PBlob; cdecl Yeah, I realized too late that I should have used the declaration from interface, not from implementation. I have that. JK The blob record (probably wrong