vfp编写dll文件
请问 怎么用vfp做dll文件 谢谢
有两种DLL文件,一种是用Declare说明然后调用,这种文件copy了就能用,但不能用智能提示,只能用专门的工具查看里面有什么东西,这种Dll一般是用C编写的。
另外一种是COM方式的Dll,用Createobject(对象名)方式调用,对象名的两部分组成,也不能直接看出,需要开发者提供,下面就可以用智能提示了。
这种DLL许多语言都可以开发,也都可以调用,VFP开发的DLL就属于这种。
Local loCom
loCom = Createobject('Mydll.Mydata')
*!* 示例:
首先建一个工程,如MyDll,
然后建一个主程序,如MyDllMain,
然后在这个主程序里写如下代码:
**********取得表中记录总数**********
Define Class MyData As Session OlePublic &&如果是VFP6-SP5以下,把SessionN改为Custom
Procedure GetDataCount
Lparameters tcTable
Select 0
Select Count(*) From (tcTable) Into Array curData
Use In (tcTable)
Return Alltrim(Str(curdata))
Endproc
Enddefine
************************************
编译时选择连编成DLL。
在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)。
3.如果感觉用DLL不方便,那么可以编译成用vfp的exe文件,直接在其他开发工具中调用执行,只要定义数据接口就行。如:其他开发工具调用vfp的exe程序,vfp程序把结果输出到一个txt文件中,然后再由其他开发工具进行读取即可。
本文来自CSDN博客,转载请标明出处:http://blog.