Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.03.03;
Скачать: CL | DM;

Вниз

IDispatch реализация без TypeLibrary. Возможно?   Найти похожие ветки 

 
Opryshok ©   (2004-02-19 18:36) [0]

Здрасти!
Делаю File->New->Other->ActiveX->Aotomation Object.
Имплементирую методы. Все работает.
Потом мне возникла необходимость использовать этот класс(implementation class) в дугой программе (тоже на Delphi).

Возникла трудность:
Нужно в оба проекта добавлять TypeLib. Не то чтоб лень набивать методы, но неудобно синхонизировать изменения.

Может что посоветуете?


 
Владислав ©   (2004-02-19 18:44) [1]

Можно скопировать файл tlb и подправить в нем все, что нужно.
У меня два таких проекта условной компиляцией "разрулены". Все замечательно работает. А "набивать" мне тоже было лень :)


 
just me   (2004-02-19 19:10) [2]

Это стандартное решение - создать библиотеку типов отдельно, а потом включать ее во все проекты, где это нужно. Например, при построении на базе СОМ системы подгружаемых модулей для хост-апликации


 
Владислав ©   (2004-02-19 19:13) [3]

> just me (19.02.04 19:10) [2]

Если я правильно понял автора, конечно, не совсем стандартное. Интерфейсы (VMT, если можно так выразиться) одни и те же, но вот COM объекты совсем разные. И Class ID разные, и их имена.


 
just me   (2004-02-19 19:59) [4]

Отчего же! Как раз стандартное! Мне нужно несколько СОМ-объектов с ClassID разными, именами разными, но ведущими себя одинаково, например, плагинов. Интерфейс подключения к хосту и взаимодействия с ним у всех один. В MS для этого даже придумали такую штуку, как COM Component Categories


 
just me   (2004-02-19 20:00) [5]

Отчего же! Как раз стандартное! Мне нужно несколько СОМ-объектов с ClassID разными, именами разными, но ведущими себя одинаково, например, плагинов. Интерфейс подключения к хосту и взаимодействия с ним у всех один. В MS для этого даже придумали такую штуку, как COM Component Categories


 
Digitman ©   (2004-02-20 16:32) [6]


> неудобно синхонизировать изменения


их и не надо синхронизировать

проект, реализующий сервер автоматизации, при каждом изменении генерирует собственно tlb и тут же обновляет XXX_tlb.pas, который существует в единственном экз-ре, на который в своих uses ссылаются прочие проекты (контроллеры автоматизации)

любое изменение в XXX_tlb.pas при перекомпиляции проектов-контроллеров даст о себе знать, напоример, ошибкой компиляции, что быстро исправляется соотв.правкой исх.текста приложения-контроллера


 
Serginio666   (2004-02-20 16:56) [7]

Сколько угодно. Например 1С или например TSocketConnection.
В данном случае очень удобно использовать DispInterface



Страницы: 1 вся ветка

Текущий архив: 2004.03.03;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.014 c
3-5967
Fom
2004-02-05 15:21
2004.03.03
Как в EhLib сделать Hint для полей которые не помещаются?


7-6256
X
2003-12-15 15:22
2004.03.03
Включение компьютера


8-6162
Borealis
2003-10-23 12:21
2004.03.03
Расстояние между цветами


3-5944
Dummes
2004-02-05 14:53
2004.03.03
Что бы это значило?


1-6060
Drozdov A
2004-02-18 15:22
2004.03.03
If ....Then