我正在开发一个 VB6 图形界面,该界面使用从使用__declspec(thread)
变量的 C 代码生成的 DLL。问题是由于已知限制,无法在 VB6 项目中动态链接此 dll。
因此,正如本讨论中所建议的,一种可能的解决方案是从 DLL 创建一个 IDL 文件,使用 MIDL 编译器对其进行编译,然后在 VB6 项目中引用生成的 .tlb 文件。
在我必须指定包含结构变量的函数之前,我能够生成 .tlb 文件
[
uuid(YOURTYPE-LIBG-UIDH-ERE0-000000000000),
version(1.0),
helpstring ("My Type Library 1.0")
]
library MyTypeLib
{
importlib("stdole2.tlb");
[dllname("OLEAUT32")]
module OleAut32
{
[entry("myFunct")]
int myFunct([in] myStruct data);
};
};
在行: int myFunct([in] myStruct data);
编译器说:
syntax error: expecting a type specification near "myStruct"
有没有办法让它工作?就像 IDL 文件中的某种结构声明一样?
谢谢,
国标
在这里由 wqw解决。谢谢