PRB: General Protection Fault When Using FOXTOOLS.FLLID: Q106704 2.50 2.50a 2.50b WINDOWS kbprg kbprb The information in this article applies to:
SYMPTOMSA general protection (GP) fault occurs when you are using FOXTOOLS.FLL. CAUSERegFn() or CallFn() is incorrectly declared. The argument type and return argument type must be the same; otherwise, a general protection (GP) fault may possibly occur. RESOLUTIONMake the argument type and return argument type the same. For example, the following function is incorrectly declared: SET LIBRARY TO SYS(2004)+'FOXTOOLS.FLL' x=REGFN('GetDriveType','I','C') y=CALLFN(x,1) To correct the problem, modify the function as follows: SET LIBRARY TO SYS(2004)+'FOXTOOLS.FLL' x=REGFN('GetDriveType','I','I') y=CALLFN(x,1) MORE INFORMATIONFOXTOOLS.FLL is a library that is supplied with FoxPro for Windows. FOXTOOLS.FLL allows FoxPro programs to call any Windows DLL functions that meet the following requirements: 1. Take the following arguments: integer, long, float, double, string/buffer. These can be passed by reference or by value. 2. Return the following types: integer, long, float, double, string/buffer. These are returned by value only. Two FLL functions are used provide this functionality: RegFn() - registers a function and the arguments it takes CallFn() - calls a registered function RegFn() and CallFn() have the following syntax: RegFn(FunctionName, ArgTypes, ReturnType, DLLName) returns FnHandle CallFN(FnHandle, Arg1, Arg2, ....) returns a value REFERENCESMicrosoft Windows Software Development Kit (SDK), "Programmer's Reference, Volume 2: Functions," pages 350-354, 785 FOXTOOLS.WRI located in the C:\FOXPROW\GOODIES\FOXTOOLS subdirectory WINDOWS.H located in the C:\C700\INCLUDE subdirectory Additional reference words: FoxWin 2.50 2.50a 2.50b FOXTOOLS GPF dynamic link library API application programming interface KBCategory: kbprg kbprb KBSubcategory: FxprgFoxtools Keywords : FxprgFoxtools Version : 2.50 2.50a 2.50b Platform : WINDOWS |
Last Reviewed: April 30, 1996 |