void ddlFindCb( CONTROL *ctl, char *OptnStr, char *ArgList, char *DataArray[], int DataArrayItemCount, FindRtn FindCB, WtCastPtr UserWord); typedef int (STDCALL *FindRtn)( /* value 1 - continue FIND iteration; 0 - stop FIND iteration */ WtCastPtr UserWord, long *FindRecArray, /* array of 1-rel record numbers */ int FindRecCount, /* number of records found */ int DataArrayIndex);Permitted values in OptnStr: NA
Where: |
<TableName> is the name of the target table. <RD-name> is the name of an RD that describes each item in DataArray[] <key-name-N> is the name of the keyed field that is being queried |
char *DataArray[] is an array containing DataArrayItemCount pointers; although the pointers are of data type char*, each pointer is a pointer to a record image of arbitrary format. |
ddlFindCb() is an optimized version of ddlFind(). In many respects, it is similar to ddlMatch(). In particular, ddlFindCb() performs an EQ query on each item of a vector, then returns the result via a callback; This methodology allows the user to implement his own MATCH-like function in an optimized fashion. |
Current restrictions as of TB API 8.0.160: The one-key scenario is operable for index types: . Non-RealTime - All modes . Realtime - All modes . Returns only the first record of each find Is not operable for ATTACHed tables |
ddlFindCb() Example |
Copyright © 2019 , WhamTech, Inc. All rights reserved. This
document is provided for information purposes only and the contents hereof are
subject to change without notice. Names may be
trademarks of their respective owners.