>Hi,
>
> Just like to know what is the different of a DLL created using
>vfp and one created using Visual C++.
>
> Do the one created using vfp still need the vfp500.esl file and
>is the dll usage similar to the one created using Visual C++ or more
>difficult to call from vfp and other application. I am thinking of
>written a Dll using vfp 5.0 to be call by InstallShield.
>
A .DLL created by VFP is an in-process OLE Automation Object, accessed through an OLE interface. It's is not accessed by a C or C++ style calling interface, and would not use the same syntax or integrate in a script in the same way. The interface is more like the Automation interface for a product like Word or Excel; the fact that it's in a .DLL means only that it executes in the same local memory space as the client, rather than as a separate local or remote executable.
The VFP in-process server still uses the runtime engine (VFP500.DLL as I recall), VFPOLE50.DLL, as well as some of the common OLE interface .DLLs like OLEAUT32. Compiling VFP does not generate native machine code; you still need the runtime engine to access and 'host' the VFP Automation Object.
The mechanism used by InstallShield to access functions in a .DLL will not work to perform OLE AUtomation tasks.