Главная страница
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.026 c
2-1155048317
Ega23
2006-08-08 18:45
2006.08.27
TBitmap to TIcon


2-1154634657
Drashka
2006-08-03 23:50
2006.08.27
BTClasses


1-1152772200
Альф
2006-07-13 10:30
2006.08.27
Как передать класс между приложениями ?


15-1146670466
es
2006-05-03 19:34
2006.08.27
Конвертер аудио


1-1153160195
Pashka.cool
2006-07-17 22:16
2006.08.27
Как из одного приложения определять контролы другого, на клик мыш