windows - VB - 以隐式方式链接 DLL

标签 windows multithreading visual-c++ dll vb6

我正在开发 VB6 图形界面,我需要隐式链接到 DLL。

这样做的动机来自于我的previous question .有问题的 DLL 使用静态 TLS,__declspec(thread),当然,当使用 LoadLibray 显式链接 DLL 时,这会严重失败。

我真的很想避免对 DLL 进行修改,所以有人知道如何欺骗 VB6 可执行文件隐式链接到特定的 DLL 吗?

最佳答案

为您的 DLL 创建一个 IDL 文件,在 module 中描述您导出的函数条款。

使用 MIDL 编译器编译并从您的 VB6 项目(项目 - 引用)中引用生成的 tlb 文件。
并删除所有 Declare Function

tlb 文件仅用于编译(在本例中),您不必将其包含到设置中。

关于windows - VB - 以隐式方式链接 DLL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5195605/

相关文章:

如何使用 AsParallel()/Parellel.ForEach() 的 C# 编码指南

C++ 从文件错误中读取对象

visual-c++ - 如何从 C++ 代码访问 $(SolutionDir) 宏

windows - 如何计算在windows批处理中编码的sha1 base64?

c++ - C++ 中的 CLI : cin and Ctrl+C

c++ - 在 C++ 中每 30 秒检查一次进程

c++ - Windows上的封包记录

Java NIO.2 CompletetionHandler 未到达

node.js - 我们可以使用多线程并行运行 async() 吗?

c++ - Incomplete type is not allowed 错误和元组