我正在开发一个用 VB6 编写的图形界面,我必须在其中调用某个用 C 编写的 DLL 中包含的函数。由于已知的限制,我必须实现一个技巧,允许我以隐式方式加载此 DLL。
这可以创建一个 IDL 文件,用 MIDL 编译它并在 VB6 项目中引用生成的 .tlb 文件。
问题是 char 的 VB6 字符串和 C 数组不匹配,所以我无法将它们传递(并返回)给 DLL。
C函数的原型是:
int __stdcall myFunc(char filename_in[], char filename_out[], char ErrMsg[]);
我应该在 IDL 文件中写什么以及如何从 VB6 中调用它?
谢谢。