Главная страница
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.015 c
1-6060
Drozdov A
2004-02-18 15:22
2004.03.03
If ....Then


6-6174
Eraszzer
2003-12-28 01:23
2004.03.03
Организация Proxy сервера.


1-6088
SergP
2004-02-20 22:12
2004.03.03
Подскажите компонент....


1-6052
Курдль
2004-02-18 18:10
2004.03.03
Обнаружена ошибка в TImage! (Или в моей дезоксирибонуклеиновой)


14-6220
Лысый
2004-02-11 10:20
2004.03.03
Поиск и добавление