Управление определениями в библиотеке типов COM с множеством интерфейсов IDL - PullRequest
0 голосов
/ 16 июля 2010

Я создаю библиотеку типов COM с более чем сотней интерфейсов.Определение всех интерфейсов и коклассов в одном library нецелесообразно ... файл IDL становится длиной в тысячи строк!Поэтому я пытаюсь представить каждый интерфейс в отдельном файле и использовать import s для удовлетворения его зависимостей.

Какие стратегии я могу использовать для управления таким количеством интерфейсов?Я пытаюсь использовать директивы import везде, но я застрял, пытаясь включить их в TLB.Я пробовал #include в library, но с зависимостями все выглядит не так.1015 * ExampleLibrary.idl

// Should I put some imports here? They won't be included in the library.
import "IExampleA.idl";
import "IExampleB.idl";

[ uuid(...) ]
library InfrastructureLib
{
    // This? Imports in a library don't actually include the types
    import "IExampleA.idl";
    import "IExampleB.idl";

    // Or this? I get class redefinition errors trying #include 
    #include "IExampleA.idl"
    #include "IExampleB.idl"

    // Is there another way?
};

1 Ответ

0 голосов
/ 17 июля 2010

Я думаю, что вы планируете разделить интерфейсы на несколько файлов tlb, но я не понимаю, почему вы создаете файлы вручную?

Я бы предложил разделить интерфейсы на несколько библиотек типов, но для их создания использовать редактор библиотек типов.

Редактор библиотек типов поставляется с каждой версией Delphi, но если у вас его нет, в сети должно быть несколько доступных.

...