帮帮我,谢谢!为什么MFC写的DLL不能在VB里使用??????????
问题:
为什么MFC写的DLL不能在VB里使用?
VB报错:
实时错误'435' 找不到Dll入口点.
问题点数:20、回复次数:13Top
1 楼yintongshun(左岸思雨)回复于 2003-12-01 19:30:08 得分 1
Declare Function mymessage //你想起的名字作为导出函数的别名
Lib "你的路径\你的.dll" Alias "YourExportMethod(函数)" (ByVal aa As String, ByVal bb As String//根据你导出的函数的参数而定
) As Integer//根据你导出的函数的返回值而定
Top
2 楼Promise91(Promise91)回复于 2003-12-02 10:03:27 得分 1
.........Top
3 楼mjznet(为谁加加)回复于 2003-12-04 21:38:45 得分 0
谢谢,不过我想知道为什么不能用!为什么出错?
我在VB里声明的时候没有用 Alias
Top
4 楼jeffchen(Jeff)回复于 2003-12-05 10:57:51 得分 2
要定义def文件,否则VB找不到函数名称Top
5 楼mjznet(为谁加加)回复于 2003-12-09 20:37:37 得分 0
什么是“def文件”?
谢谢!!!Top
6 楼bonmarshal(蚂蚁)回复于 2003-12-11 01:06:58 得分 2
不是吧!你的DEF文件没写吗?
那是定义你与外界接口函数的地方!补上吧!
Top
7 楼mjznet(为谁加加)回复于 2003-12-16 20:10:32 得分 0
老大怎么写这个文件啊,我不会啊?(我是棒槌)
一定要详细的告诉我
谢谢了,万分万分的感谢!!Top
8 楼wangweixing2000(星(inspiration(灵感)))回复于 2003-12-17 10:01:45 得分 8
给你一个例子EG:很简单的
; XXXX.def : Declares the module parameters.
LIBRARY "XXXX.DLL"
EXPORTS
DllCanUnloadNow @1 PRIVATE
DllGetClassObject @2 PRIVATE
DllRegisterServer @3 PRIVATE
DllUnregisterServer @4 PRIVATETop
9 楼jeffchen(Jeff)回复于 2003-12-17 10:03:25 得分 1
在你DLL工程的目录下就有一个,按导出的顺序写上函数名称,再重新编译一下就行了Top
10 楼msvbvm60(HOOK)回复于 2003-12-17 15:08:52 得分 1
如果是扩展MFC DLL肯定不行,如果是非扩展MFC DLL则可以,输出时要使用extrn "c"..Top
11 楼mjznet(为谁加加)回复于 2003-12-17 23:04:50 得分 0
各位大哥多谢啦!!
我想说的是, 我用了这么年VB就没听说过有.def文件.
我也就更不会用了.
:) 我应该怎么在VB用这个文件呀!
这才是我问题的本意呀,多谢啦,拜托啦 !!!Top
12 楼msvbvm60(HOOK)回复于 2003-12-18 08:37:48 得分 2
def文件是你在用VC 创建DLL的时候才用的啊 ,发步DLL时候,如果是供VC使用,
可以发布.h文件和.lib文件以供显式调用,也可以不发布。H和。LIB文件,因为VC还可以隐式调用DLL
如果是发布给VB,DELPHI用户,则直接提供DLL即可Top
13 楼zhengxh()回复于 2003-12-18 17:14:21 得分 2
把 _declspec(dellexport) 改为WINAPI呢?Top




