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; PBlob = ^TBlob; function BLOBLEN(Value: PBlob): Integer; cdecl; begin if Value = nil then Result := 0 else Result := Value^.TotalSize; end; * Declaration * DECLARE EXTERNAL FUNCTION BLOBLEN BLOB RETURNS INTEGER ENTRY_POINT 'BLOBLEN' MODULE_NAME 'pwIBUDF'; * Usage * SELECT BLOBLEN(someblobfield) FROM sometable I expect to get a list of lengths of a particular BLOB field in the table. In reality, I get an error on Firebird 1.5, 2.1 and 2.5. Error log of FB 2.5 says: The user defined function: BLOBLEN referencing entrypoint: BLOBLEN in module: pwIBUDF caused the fatal exception: Access violation. The code attempted to access a virtual address without privilege to do so. This exception will cause the Firebird server to terminate abnormally. Which seems rather strange, considering that Firebird was supposed to pass me a valid BLOB descriptor - and in fact, in a similar function (but one which returns BLOB contents as a string) apparently does. I'd welcome any pointers (no pun intended). Thanks, Josef ------------------------------------ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Visit http://www.firebirdsql.org and click the Resources item on the main (top) menu. Try Knowledgebase and FAQ links ! Also search the knowledgebases at http://www.ibphoenix.com ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Yahoo! Groups Links <*> To visit your group on the web, go to: http://groups.yahoo.com/group/firebird-support/ <*> Your email settings: Individual Email | Traditional <*> To change settings online go to: http://groups.yahoo.com/group/firebird-support/join (Yahoo! ID required) <*> To change settings via email: firebird-support-dig...@yahoogroups.com firebird-support-fullfeatu...@yahoogroups.com <*> To unsubscribe from this group, send an email to: firebird-support-unsubscr...@yahoogroups.com <*> Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/