繁体   English   中英

VB6-C / C ++ dll运行时错误48

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM