vb6 调用vc++的dll
我在vc++中生成一个photosplit的动态链接库在vb中调用这个动态链接库出现dll 调用约定错误现在不知道为什么了希望大家能给以帮助
这个是输出VC++时的入口函数 mySplit
extern "C" __declspec(dllexport) void mySplit( char* srcFileName , char* destFileName ,char* str);
在vb6中调用这个dll时
Private Declare Sub split1 Lib "D:\PhotoSplit.dll" Alias "mySplit" (ByVal srcfilename As string, ByVal destfilename As string, ByVal strName As string)
在vb6中调用时 Call split1(srcfilename, destfilename ,strName )
因为没有 字符串 类型……
传递的是第一个字符的地址 mySplit
extern "C" __declspec(dllexport) void mySplit( char* srcFileName , char* destFileName ,char* str);
这一句错了,这样的DLL只能被C++调用 我觉得你应该在VC的DLL工程里建立一个*.def文件,里面保存:
EXPORTS
mySplit
再编译此DLL 或者在VB里改成
Private Declare Sub split1 Lib "D:\PhotoSplit.dll" Alias "mySplit" (srcfilename As string, destfilename As string, strName As string)
把Byval去掉
[img]http://image5.poco.cn/mypoco/myphoto/20080527/13/44397527200805271336553222380259616_000_640.jpg[/img]
页:
[1]
