关于 VB6 调用C++ DLL 传参的问题

spade24 2011-08-12 04:45:21

C++ dll函数:


extern "C" __declspec(dllexport) unsigned int __stdcall WINAPI SetPath(CString FileDir);

unsigned int __stdcall WINAPI SetPath(CString FileDir)
{

AfxMessageBox(FileDir);//第1步
FileDir=FileDir+"\1";//第2步
AfxMessageBox(FileDir);//第3步

return 1;
}


VB 加载DLL:

Declare Function SetPathLib "MyDLL" _
(ByVal FileDir As String) As Integer




Private Sub Command18_Click()
Dim r As Single
r = SetPath(App.Path)
End Sub



执行上述VB程序后,通过调试,发现执行到C++dll中的第2步时就报“内存不能为read的错误”;
调试发现,如果我对FileDir不加东西,能正常运行,如果在后面加任何字符串就报错。
不知所云。
...全文
104 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧