环状肉芽肿能自愈吗:用VB调用VC编写的DLL的参数传递问题

来源:百度文库 编辑:神马品牌网 时间:2024/04/29 23:00:35
我用VC写了一个DLL,其中有一个函数
DWORD WriteComm(BYTE buf[1024],DWORD dwLength);
我在VB中这样调用
Public Declare Function WriteComm Lib "vast" (ByRef buf As Byte, ByVal dwLength As Long) As Long
调试的时候会出错
Run-time error '49'
Bad DLL calling convention
如果生成exe文件执行时就不会报错
估计错误是出在第二个参数上,我单独测试过,写一个小函数,传递DWORD类型的参数,在VB中用Long型,就会出错
但相关资料上都是将VC中的DWORD对应到VB中的LONG
请有经验的帮忙解决
问题没解决,分还是给你吧

VB程序在调试的时候工作目录是Vb的安装目录,编译成exe了工作目录就是exe的目录了,你只要把dll文件复制到VB的目录下就行了.

同意上面的观点,用app.path即可找到