关于VFP自定义函数库DLL的问题
2007-03-16 16:52
253 查看
自己写了几个函数,请问怎样编写成函数库如DLL之类的
让我在VFP命令行中可直接调用
如自编了函数 a()
则在命令窗口中输入a() 即可运行
由于本人工作中自定义函数较多
所以不采取 写成 prg 放入默认目录下的方法
谢谢
======================================================
关于编写DLL
*-----------------------
以下为一个例子:
首先建一个工程,如MyDll,
然后建一个主程序,如MyDllMain,
然后在这个主程序里写如下代码:
**********取得表中记录总数**********
DEFINE CLASS MyData AS SESSION OLEPUBLIC &&如果是VFP6-SP5以下,把SESSION改为CUSTOM
PROCEDURE GetDataCount
LPARAMETERS tcTable
SELECT 0
SELECT COUNT(*) FROM (tcTable) INTO ARRAY curData
USE IN (tcTable)
RETURN ALLTRIM(STR(curdata))
ENDPROC
ENDDEFINE
*!*DEFINE CLASS MyData AS SESSION OLEPUBLIC &&如果是VFP6-SP5以下,把SESSION改为CUSTOM
*!*PROCEDURE Test
*!*RETURN '调用成功!'
*!*ENDPROC
*!*ENDDEFINE
************************************
在VFP中调用这个DLL:
LOCAL loCom
loCom = CREATEOBJECT('Mydll.Mydata')
?loCom.GetDataCount('temp1') &&temp1为表名
RELEASE loCom
loCom = Null
RETURN
注:
1.session只能在VFP6.0+SP5开始才能使用,建议使用7.0或更高版本。若非要用6.0,则必须打补丁,或改用CUSTOM类。
2.编译成的DLL,与EXE一样,要用运行库,还必须同时发布 VFP[x]T.dll 文件([x]可为6、7、8或9)。
让我在VFP命令行中可直接调用
如自编了函数 a()
则在命令窗口中输入a() 即可运行
由于本人工作中自定义函数较多
所以不采取 写成 prg 放入默认目录下的方法
谢谢
======================================================
关于编写DLL
*-----------------------
以下为一个例子:
首先建一个工程,如MyDll,
然后建一个主程序,如MyDllMain,
然后在这个主程序里写如下代码:
**********取得表中记录总数**********
DEFINE CLASS MyData AS SESSION OLEPUBLIC &&如果是VFP6-SP5以下,把SESSION改为CUSTOM
PROCEDURE GetDataCount
LPARAMETERS tcTable
SELECT 0
SELECT COUNT(*) FROM (tcTable) INTO ARRAY curData
USE IN (tcTable)
RETURN ALLTRIM(STR(curdata))
ENDPROC
ENDDEFINE
*!*DEFINE CLASS MyData AS SESSION OLEPUBLIC &&如果是VFP6-SP5以下,把SESSION改为CUSTOM
*!*PROCEDURE Test
*!*RETURN '调用成功!'
*!*ENDPROC
*!*ENDDEFINE
************************************
在VFP中调用这个DLL:
LOCAL loCom
loCom = CREATEOBJECT('Mydll.Mydata')
?loCom.GetDataCount('temp1') &&temp1为表名
RELEASE loCom
loCom = Null
RETURN
注:
1.session只能在VFP6.0+SP5开始才能使用,建议使用7.0或更高版本。若非要用6.0,则必须打补丁,或改用CUSTOM类。
2.编译成的DLL,与EXE一样,要用运行库,还必须同时发布 VFP[x]T.dll 文件([x]可为6、7、8或9)。
相关文章推荐
- 关于DLL加载的问题
- 关于VS2005程序发布的问题:其实就是程序能否找到运行时所需要的DLL的问题。
- 关于vs2010下编译dll动态库,JNA接口在java中调用的问题
- 关于NTDLL.DLL 异常错误问题
- 刚才遇到了关于C#使用外部DLL函数上的char*的问题。
- 关于“无法显式调用运算符或访问器”的问题以及Reflector反编译dll文件再生成dll文件的问题
- 关于java加载dll文件一直报Unable to load library的问题
- 关于OPC自动化接口编程(OPCDAAuto.dll)几点注意问题
- 关于在Silverlight中调用C++编写的DLL的问题
- 关于EMGCU中的cvertern.dll无法找到的问题
- 关于Windows平台下应用程序加载DLL模块的问题.
- 关于VS.NET中多个项目的工程相互引用和多个dll引用的问题!
- 关于Dll中导出string的问题
- 关于ASP编码问题|注册dll组件
- 关于API的DLL的搜索顺序问题
- 关于使用MFC DLL时提示内存泄漏问题
- 关于用zlibwapi.dll进行字节数组压缩的问题
- 关于导出DLL问题
- 关于DLL搜索路径的顺序问题
- 关于在dll中申请内存,外部释放的问题