Создание файла IDL из DLL
Я работаю над графическим интерфейсом VB6, который использует DLL, сгенерированную из кода C, который использует __declspec(thread)
переменные. Проблема заключается в том, что из-за известного ограничения невозможно динамически связать эту DLL в проекте VB6.
Итак, как предлагается в этом обсуждении, возможное решение состоит в том, чтобы создать файл IDL из DLL, скомпилировать его с помощью компилятора MIDL, а затем сослаться на полученный файл.tlb в проекте VB6.
Я могу сгенерировать файл.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. Спасибо