Smithware Home PageSmithware Product InformationHow to Order Smithware ProductsSmithware Technical SupportSearch the Smithware Web SiteBtrieve Developer's Journal MagazineContact Smithware by E-mailPervasive Software Home Page Smithware Home Page

Smithware Knowledge Base Article #001269
Updated: 09-24-1997 17:10:23 CST


E-mail Address:

 
More Information


Topic: Interfacing GFA-Basic for Windows & WBTRCALL.DLL (Btrieve for Windows (all versions))
NOVELL PROFESSIONAL DEVELOPER
APRIL 1993 VOLUME 5 NUMBER 4


Applies to: Technical Articles from Novell's PDS Bullets

To call Btrieve for Windows from a GFA-Basic Windows application, the declaration shown in Figure 3, Part A, must be made in the global section of your code. Since the Position Block, Data Buffer, Data Buffer Length, and Key Buffer parameters need to be FAR pointers, the "l" argument means LONG for the four-byte FAR address. The "w" argument stands for WORD, or two-byte addresses. FIGURE 3: Declaration and Btrieve call for GFA-Basic for Windows Part A: Declaration DLL #10,"C:\WINDOWS\SYSTEM\WBTRCALL.DLL" DecL Word btrcall (w,l,l,l,l,w,w) Pascal EndDLL Part B: Btrieve Call Status& = ^btrcall(opcode&, V:Posblk$, V:DataBuf, V:DataBufLen, V:KeyBuf$, KeyBufLen&, KeyNum&) END of FIGURE 3 The actual Btrieve call to the DLL should look like the call shown in Part B of Figure 3. The "^" character before the btrcall function name tells the GFA compiler that the next variable name is an external function name. The "&" character after the variable name means "integer" in GFA-Basic, just as the "%" sign would in Microsoft Basic. The "V:" designation is equivalent to VARPTR in Microsoft Basic, which stands for "variable pointer."

Did this information help answer your question?
 Yes  
 No
 It didn't apply  


Return to Knowledge Base Search


Copyright(c) 1998 by Smithware, Inc. All rights reserved.

Smithware does not and cannot warrant the information, documentation, or software (including any fixes and updates) included in this distribution service or the performance or results obtained by using this information, documentation, or software. This information, documentation, and software is provided "as is". Smithware, Inc. makes no warranties of any kind, either express or implied, including but not limited to, noninfringement of third party rights, merchantability, or fitness for a particular purpose with respect to the product and the accompanying written materials. To the extent you use or implement this information, documentation, or software in your own setting, you do so at your own risk. In no event will Smithware, Inc. be liable to you for any damages arising from your use or, your inability to use this information, documentation, or software, including any lost profits, lost savings, or other incidental or consequential damages, even if Smithware, Inc. has been advised of the possibility of such damages, or for any claim by another party.