gpt4 book ai didi

c - VB6 - 使用 C/C++ dll 时出现运行时错误 48

转载 作者:行者123 更新时间:2023-11-30 18:12:59 25 4
gpt4 key购买 nike

首先我想说,在发布这个问题之前,我阅读了这里的大多数其他问题,其中也有类似的问题。但我的情况略有不同。

我有一个旧的 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 加载失败的原因吗?

最佳答案

为了与 16 位 VB 兼容,VB 中整数为 16 位。因此,任何其他语言中的整数在 VB 中都称为 long。

关于c - VB6 - 使用 C/C++ dll 时出现运行时错误 48,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28177179/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com