vb调用vc创建的dll问题

gxy000 2003-08-21 03:24:17
我创建了一个MFC的Regular Dll using shared MFC DLL类型的dll, 名为DelCmt.dll

在vb中调用语句为
Private Declare Sub DeleteComment Lib "DelCmt.dll" (ByVal strName As String, ByRef intRet As Integer)
其中strName为一个文件名

在调用DelCmt.dll时,如果字符串"DelCmt.dll"中未指定存放dll的绝对路径(如"E:\Temp\DelCmt.dll")时,调用就会出错(提示说找不到DelCmt.dll),即使将dll文件放在vb工程文件的同一层目录也不行

如果将其拷贝至系统的system32则没有问题。

如果不写绝对路径,向系统注册dll和在vb的参照下包括此dll都行不通,请问大家有什么其他解决办法(不写绝对路径也能让程序找到此dll)?

还有一种奇怪的现象就是如果DelCmt.dll与需处理的文件(strName中指定的文件)在同一层路径下的话也不会出错.

...全文
21 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
功名半纸 2003-08-22
  • 打赏
  • 举报
回复
同意lcx_csdn(请指教)
AaronChan 2003-08-22
  • 打赏
  • 举报
回复
extern "C" …………
DreamWeaverFX 2003-08-22
  • 打赏
  • 举报
回复
vc dll必须导出标准的stdcall函数.
lcx_csdn 2003-08-22
  • 打赏
  • 举报
回复
这种不需注册的DLL在调用时会寻找系统环境变量中的目录,一种方法是在环境变量中加入本DLL所在目录,一种方法是把这个DLL放到SYSTEM32底下,这样就可以找到了。

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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