version 2003
PA_GetBlobHandleField (tNum; field) PA_Handle
| Parameter | Type | Description | |
| tNum | short | Table number of the field to access | |
| field | short | Field number of the field to access | |
| Function result | PA_Handle | Handle to the BLOB |
Description
The routine PA_GetBlobHandleField returns a handle to the BLOB data of the field number fNum of the current record of table number tNum.
If the field is not a BLOB field, the routine returns 0 and an error code in PA_GetLastError.
WARNING
The handle belongs to 4th Dimension. Never dispose of it.
To get a copy of the data, use PA_GetBlobField. It is is really only useful in getting the Handle for saving memory, especially if the plug-in just want to view the BLOB content as "read-only".
Example
Searching in a BLOB : We do not need a copy of the BLOB for that. The handle is ok.
long MySearchInBlobField( short tNum, short fNum, char *toFind, long toFindLength )
{
long pos = -1L;
PA_Handle h = 0L;
char *pt;
h = PA_GetBlobHandleField( tNum, fNum );
if ( h )
{
pt = PA_LockHandle( h );
pos = SuperSearchRoutine( pt, PA_GetHandleSize( h ), toFind, toFindLength );
PA_UnlockHandle( h );
}
return pos;
// No cleanup of h here !
}
See Also
PA_GetBlobField, PA_SetBlobHandleField.
Error Handling
Use PA_GetLastError to see if an error occurred (eER_InvalidFileNumber, eER_InvalidFieldNumber).