|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
Сервер автоматизации
Уважаемые форумчане!
Экспериментирую с COM, хочу создать приложение - сервер автоматизации по типу MS WORD. По типу имею ввиду саму конструкцию, т.е. есть один главный объект автоматизации Word.Application который в своих свойствах передает интерфейсы на другие внутрипроцессорные объекты автоматизации, есть главная форма на которой реализуется функционал программы и все это находится в dll. Для запуска такого приложения используется приложение "стартер" с несколькими строками кода. Код:
CoInitialize(nil) ; app:=createoleobject('Word.Application'); app.Visible:=true; CoUnInitialize; "стартер"(приложение-клиент) запускает приложение-сервер, само завершается а приложение-сервер остается работать. я создал ActiveX library в нее добавил объект автоматизации Applc в методе TApplc.Initialize делаю так Form1:=TForm1.Create(nil); Form1.Show; форма появляется, но при закрытии стартера(клиента) закрывается и сервер вместе с формой. Что то не так с Instancing и ThreadingModel? Какие только варианты не пробовал. Как вообще реализуется такая схема? Точнее как заставить сервер работать после завершения приложения клиента ("стартера") и куда и как правильно засунуть форму? |