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

Вниз

Как передать класс между приложениями ?   Найти похожие ветки 

 
Альф   (2006-07-13 10:30) [0]

Есть приложение-сервис с каким-то набором классов о состоянии этого сервиса, и есть приложение-просмотрщик - каждая форма которого умеет отображать конкретный класс.
Как организовать передачу классов состояния между сервисом и просмотрщиком ?
Пока вижу два способа - WM_COPYDATA или MMF - но оба требут сохранения свойст в промежуточный буффер.
Можно ли каким-то образом просто передать ссылку на класс, которая была-бы валидной в обеих приложениях ?


 
Игорь Шевченко ©   (2006-07-13 10:31) [1]


> Как организовать передачу классов состояния между сервисом
> и просмотрщиком ?


Почитать про маршаллинг.


> Можно ли каким-то образом просто передать ссылку на класс


Нельзя. Но можно записать все свойства класса в поток (Stream), передать этот поток, и в другом приложении создать класс, считав значения свойств из переданного потока.


 
DrPass ©   (2006-07-13 10:34) [2]

Может, речь идет просто о создании СОМ-сервера?


 
StriderMan ©   (2006-07-13 12:17) [3]

а можно ран-тайм package использовать


 
Игорь Шевченко ©   (2006-07-13 12:19) [4]

StriderMan ©   (13.07.06 12:17) [3]

Каким образом ?


 
Юрий Зотов ©   (2006-07-13 12:22) [5]

Непонятно, что такое "класс состояния".

ИМХО, если так уж нужно обойтись без передаточного буфера, то стоит подумать о способе взаимодействия через интерфейсы.


 
Альф   (2006-07-13 13:55) [6]

>Юрий Зотов ©   (13.07.06 12:22) [5]
>Непонятно, что такое "класс состояния".

Класс состояния - это общее название для нескольких классов или коллекций класов, которые описывают то что у сервиса "внутрях" в данный момент.

>если так уж нужно обойтись без передаточного буфера

Дело совсем не в буффере, просто хотелось избежать Save/Load для каждого класса - потому как классов может быть несколько и для каждого писать свои процедуры сохранения не хочется. К тому же для множества классов придеться писать подобие протокола передачи.

Наверно интерфейсы - наиболее подходящий вариант.


 
StriderMan ©   (2006-07-13 13:55) [7]


> Игорь Шевченко ©   (13.07.06 12:19) [4]

запихнуть этот класс в bpl-ку, и использовать ее в exe и  dll. Экземпляр класса будет один.


 
Альф   (2006-07-13 13:57) [8]

>StriderMan ©   (13.07.06 13:55) [7]
>запихнуть этот класс в bpl-ку

Если чесно я тоже мысль не до конца понимаю...


 
StriderMan ©   (2006-07-13 14:01) [9]

все просто. делаешь bpl-ку с классом, который должен быть доступен всем, и переменной экземпляра класса. а в проектах EXE и DLL ставишь флажок "Project\options\Packages\build with run-time packages", и указываешь там имя bpl-ки


 
Ketmar ©   (2006-07-13 14:08) [10]

читаем [0]. думам, к чему написали столько текста не по теме.


 
StriderMan ©   (2006-07-13 14:17) [11]

Пардон... что-то я невнимательно прочитал. между приложениями такой механизм работать не будет



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

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

Наверх




Память: 0.49 MB
Время: 0.03 c
15-1154237704
Alert2006
2006-07-30 09:35
2006.08.27
PhotoShop


1-1152796491
KygECHuK
2006-07-13 17:14
2006.08.27
Разграничение доступа


2-1155139658
ProgramMaker_
2006-08-09 20:07
2006.08.27
Как после того как я сделал Hide, снова восстановить форму?


2-1154649037
Балбес
2006-08-04 03:50
2006.08.27
Из стринга в чар


2-1154896036
Alral
2006-08-07 00:27
2006.08.27
Opredelenie kol-va simvolov v tekste