Microsoft KB Archive/101291

From BetaArchive Wiki
Knowledge Base


"Invalid Function" with CallFn() from FoxTools

Article ID: 101291

Article Last Modified on 10/15/2003



APPLIES TO

  • Microsoft Visual FoxPro 3.0 Standard Edition
  • Microsoft FoxPro 2.5b



This article was previously published under Q101291

SUMMARY

The FOXTOOLS.FLL library is used to call Windows API functions from within FoxPro. However, FOXTOOLS.FLL cannot call a .DLL that requires more than nine parameters. If an attempt is made to call a .DLL with more than nine parameters, FoxPro will return the "Invalid Function, Argument, Type or Count" error message.

The following example demonstrates this problem. It calls a function named "Beep" in a .DLL named "Mydll.dll" with ten parameters. When the CallFn() function that is part of FOXTOOLS.FLL is issued, FoxPro returns the error message described above:

   SET LIBRARY TO SYS(2004)+"FOXTOOLS.FLL"t!
   test='TEST'
   handle=REGFN("beep", "CCCCCCCCCC", "", "c:\msvc\example\dlls\mydll.dll")
   test=CALLFN(handle,test,test,test,test,test,test,test,test,test,test)
   SET LIBRARY TO
                

MORE INFORMATION

The functionality of Microsoft FoxPro for Windows can be enhanced by calling a Windows .DLL within FoxPro. FoxPro for Windows comes with a FoxPro application programming interface (API) library that allows FoxPro programs to call Windows DLL functions that meet the criteria as described in the FOXTOOLS.WRI file in the FOXPROW\GOODIES\FOXTOOLS directory. A large number of Windows API functions meet these criteria.


Additional query words: VFoxWin FoxWin 2.50 FOXTOOLS Callfn error

Keywords: kberrmsg KB101291