Создание файла 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. Спасибо

0 ответов

Другие вопросы по тегам