Форум: "Основная";
Текущий архив: 2003.10.02;
Скачать: [xml.tar.bz2];
ВнизType Library Найти похожие ветки
← →
Mantor (2003-09-19 13:44) [0]Привет all.
В D5 создаю subj, соответственно там написан COM объект который реализует интерфейс, например I1. И в одном из методов, в качестве параметра, используется другой интерфейс, пусть будет I2. Должен ли I2 содержаться в данном subj"е. И как быть потом, если я создам другой subj, который то же использует интерфейс I2?
I2 добалять в каждый subj, в котором он используется?
Всем кто ответил, спасибо.
← →
icWasya (2003-09-19 14:22) [1]В редакторе TLB
1) выбрать в левой части самый верхний узел - саму Library
2) в правой части должна появиться форма с закладками Attributes, Uses, Flags и Text
3) выбери закладку Uses
4) должен появиться список используемых TypeLibrary
5) на списке нажми правую кнопку мыши
6) должно прявиться меню View Type Library / Show All Type Libraries
7) выбери пункт Show All Type Libraries
8) появится список всех зарегистрированных Type Libraries
9) отметь галочкой ту библиотеку, которая содержит интерфейс I2
10) на списке нажми правую кнопку мыши
11) должно прявиться меню View Type Library / Show Selected
12) выбери пункт Show Selected
кажись всё
← →
Mantor (2003-09-19 16:41) [2]2 icWasya
Спасибо.
Но это не совсем то, что меня интересует.
Если я устанавливаю клиенту приложение, в котором может использует две dll-ки и в которых используется интерфейс I2. И заранее точно не известно какая dll-ка окажется у пользователя первой.
Или вот ещё какая ситуация.
1. Создаю базовый интерфейс IBased.
2. Создаю одну DLL, в ней создаю интерфейс I1, который наследует IBased и класс который реализует I1, ну и соответственно IBased. 3. Создаю вторую DLL, в ней создаю интерфейс I2, который наследует IBased и класс который реализует I2, ну и соответственно IBased.
4. Пишу приложение которое работает с COM объектом через интерфейс IBased, I1, I2 и соответственно будет использовать либо DLL1, либо DLL2, а может и обе одновременно.
Вопрос: где и как в таком случае размещать описание IBased? В обоих библиотеках или может это должна быть отдельная DLL, содержащая только описание интерфейса.
← →
nikkie (2003-09-19 16:57) [3]COM прекрасно может работать и без type library. разработчику достаточно декларации интерфейса в виде хедер-файла. есть MS-интерфейсы, которые задекларированы именно так, без typelib. но с type library - оно правильнее, имхо, поскольку COM - межъязыковая вещь и каждое COM-enabled средство сможет вытащить нужную декларацию из typelib.
на твоем месте я бы может сделал декларацию всех интерфейсов в отдельном tlb-файле, а реализацию классов - в dll со ссылкой на tlb.
← →
icWasya (2003-09-19 17:19) [4]to Mantor (19.09.03 16:41) [2]
>> ... И заранее точно не известно ...
ну тут решать тебе
клиенту важно, что бы у него было описание интерфейса, а как оно появится - дело разработчика. либо в виде хедер-файла, либо в виде отдельной TLB, либо будет запихнуто во все DLL, которые используют этот интерфейс.
← →
Mantor (2003-09-19 17:34) [5]Всё, я решил. Делаю отдельную DLL, где в TypeLibrary будет только описание базового интерфейса. А остальные будут его юзать.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.10.02;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.01 c