VB6调用VC写的常规DLL会退出
我用VC写了一个常规动态连接库(***.dll),然后在VB中调用,编译并运行VB程序,程序能正常运行,但我退出运行的程序之后,VB环境也跟着退出了(即整个VB项目都关闭了,必须重新启动VB),不知大家有没有遇到过同样的情况. 问题点数:30、回复次数:9Top
1 楼suntao222(三万英尺)回复于 2005-07-04 15:14:54 得分 30
你是怎么做的dll文件阿,然后用vb怎么调用的,小弟用sdk写了一段程序,要做成dll文件给vb调用,现在不知道如何下手,有例子程序吗,贴出来给小弟看看,vc的dll和vb如何调用的,万分感激!Top
2 楼Zhymax(蓝点)回复于 2005-07-04 22:58:18 得分 0
vc 中使用__stdcall定义函数Top
3 楼littlehair(littlehair)回复于 2005-07-05 00:13:34 得分 0
我在VC中就是使用了__stdcall,不然系统根本没办法运行.
suntao222(三万英尺):关于怎样写DLL有很多参考书,就不用我浪费空间和时间了,
在网上随便找一找就出来了,记得用__stdcall这个清栈协议.Top
4 楼littlehair(littlehair)回复于 2005-07-06 00:17:13 得分 0
喂,难道大家都没有遇到过这种情况吗?那看来真的是我的DLL有问题了,但我实在是找不到什么问题呀.
Top
5 楼blyfe(松林)回复于 2005-07-06 01:05:12 得分 0
多半是堆栈溢出!Top
6 楼wbf420(彼风)回复于 2005-07-06 13:45:32 得分 0
VB's bugTop
7 楼DentistryDoctor(不在无聊中无奈,就在沉默中变态)回复于 2005-07-06 15:04:54 得分 0
调用约定应该是_cdecl,而不是_stdcallTop
8 楼littlehair(littlehair)回复于 2005-07-07 23:49:43 得分 0
堆栈溢出可能性极小.
另外我看了很多参考书都说可以使用用_stdcall,我明天再试一试,
如果用_cdecl那我不是要很小心栈的清理工作,有什么注意事项或经验传授吗?Top
9 楼littlehair(littlehair)回复于 2005-07-08 00:23:16 得分 0
我找到一篇文章,里面有这样一句话:为了让VB可以调用,需要用__stdcall调用规范来定义C/C++函数.全文在http://blog.bcchinese.net/happyjet/archive/2005/05/24/22545.aspx
Top




