[英]VB6 - runtime error 48 with C/C++ dll
首先,我想说的是,在发布此问题之前,我在这里阅读了其他大多数类似问题。 但是我的情况略有不同。
我有一个旧的VB6应用程序,它使用自定义C / C ++ dll通过TCP发送/读取数据。
该应用程序位于Win2003服务器的共享网络驱动器上,多个用户可以访问。 dll位于应用程序路径中,我使用声明来加载它。
VB6:
Public Declare Function Interface_Open Lib "Interface.dll" Alias "Open" As Integer
C / C ++ dll:
_declspec(dllexport) int _stdcall Open() { }
现在,奇怪的是:应用程序可以在90%的时间内平稳运行。 但是某些用户会随机遇到运行时错误48“未找到dll”,而其他用户则没有。
当我尝试调用dll时似乎失败了:
Interface_Open
我无法在我的win7 64位计算机上复制错误,这使我感到困惑。 我还检查了共享中用户的网络权限,但是他们很好。
我认为问题不在于C / C ++代码内,因为日志告诉我它在进入dll之前失败。
我应该返回长值而不是整数吗? 这可能是它无法加载dll的原因吗?
VB中的整数是16位,以便与16位VB兼容。 因此,任何其他语言中的整数在VB中称为long。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.