用VC6作的DLL在PB6.5中总不能正确调用
编号:QA002020
建立日期: 1999年11月12日 最后修改日期:2000年11月2日
所属类别:
王兵:
操作系统: WIN98
编程工具: VC6 powerbulder6.5
问题: 我用VC6作的DLL在PB6.5中总不能正确调用,请给介绍一些详细经验,最好有一个VC6的DLL源程序。 谢谢!
回答:
PB的一个缺点是它调用DLL时给出的错误信息总是差不多的,所以很难从错误信息确定问题在哪里。这一点不如VB,VB对不同的问题有不同的错误信息,所以调试这种DLL,最好使用VB。
从PB的角度,一定要注意两件事:DLL被放置在恰当的目录中,最好放在SYSTEM目录中;调用DLL一定要注意函数名区分大小写。
编写PB用的DLL确实有设置的要求,因为PB调用的DLL同C语言的标准有区别。你可以参考QA000072 "VB和VC混合编程"、QA001383 "VB中调用DLL显示Bad DLL calling convention"、QA000585 "VB调用DLL时总说找不到入口点"。
haizhiyuan的意见:
我也曾自己用VC6写过一个DLL,PB中调用的时候应该要找出DLL的别名,在函数申明的时候把别名也加上去。
pine的意见:
如果你使用了MFC的话,你的DLL可能调用MFC42.DLL中的函数,所以你必须两个文件都要移植过去 。
此问题由李海回答。
| |
|
|
| |
|
|