[firebird-support] UDF - reading BLOB length

2012-07-31 Thread Josef Kokeš
Hi! What could possibly be wrong with the following UDF? * Function * type TBlob = {packed} record GetSegment: TISC_BlobGetSegment; BlobHandle: PInt; SegmentCount: LongInt; MaxSegmentLength: LongInt; TotalSize: LongInt; PutSegment: TISC_BlobPutSegment; end;

Re: [firebird-support] UDF - reading BLOB length

2012-07-31 Thread Josef Kokeš
Nice - this will also fail with the same error: function BLOBLEN(Value: PBlob): Integer; cdecl; begin Result := 1; end; I admit I find this very mystifying. Josef Hi! What could possibly be wrong with the following UDF? * Function * type TBlob = {packed} record

Re: [firebird-support] UDF - reading BLOB length

2012-07-31 Thread Josef Kokeš
On 31.7.2012 14:12, Josef Kokeš wrote: Nice - this will also fail with the same error: function BLOBLEN(Value: PBlob): Integer; cdecl; begin Result := 1; end; I admit I find this very mystifying. Never mind, found it - the problem was not in the function, but in the SQL declaration -

Re: [firebird-support] UDF - reading BLOB length

2012-07-31 Thread Danie Van Eeden
Hi, I might be way off here - but exposed / exposed functions need to be called with the correct calling convention. Double check if it should be cdelc vs stdcall Also check that you declare your EXTERNAL declaration with the same calling convention (in your case: specify cdelc in your external