我现在练习在vfp编一下dll,然后在 vfp中调用。
DECLARE INTEGER CreateFileMapping IN kernel32.DLL INTEGER hFile, ;
INTEGER lpFileMappingAttributes,integer flProtect, ;
INTEGER dwMaximumSizeHigh, INTEGER dwMaximumSizeLow, ;
STRING lpName
DECLARE INTEGER GetLastError IN kernel32.DLL
DECLARE INTEGER CloseHandle IN kernel32.DLL INTEGER hObject
还有这个更晕:
VFP调用Delphi编写的DLL例程
要调用的DLL中的每一个例程都应先用DECLARE--DLL命令加载。下例在VFP中调用Delphi编写的MyDLL.DLL中的例程Add(x,y)。
Set Talk Off
Clear
*用declare命令加载DLL及其中的例程Add
Declare integer Add in MyDLL.DLL integer @x,integer @y
a=15
b=10
Wait Window"正在调用例程Add" Timeout 2
c=Add(a,b)
?c
Wait Window"释放加载的DLL" Timeout 2
Clear All Dlls
Return
为什么要加 @,delphi讲地址,vfp中又不讲
明白啦:
你的文章第一段已经说明了哈哈
我刚用
Declare string RmbDx in Proj1.DLL integer x
?RmbDx(1000)
提示 cannot find entry point
我现在试试
aa=CREATEOBJECT("Proj1.My_Dll")
aa.My_Dll
?aa.RmbDx(1000)
?aa.ToPy("中国")
ok!