Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

TWordApplication [D5, WinXP]


MZ ©   (2002-03-03 21:56:00) 

Кто-нибудь знает, что нужно сделать чтобы при отключении от серверного приложения оно не закрывалось.


MZ   (2002-03-04 14:45:00) [1]

Не знаю может быть у меня что-то не так, но он закрывается с любым AutoQuit. Т.е. есть активный документ, подрубаешься к Ворду, поработал с ним, Disconnect... и он пытается закрыться.


MZ   (2002-03-04 14:43:00) [2]

Не знаю может быть у меня что-то не так, но он закрывается с любым AutoQuit. Т.е. есть активный документ, подрубаешься к Ворду, поработал с ним, Disconnect и он пытается закрыться.


Shaman_Naydak   (2002-03-04 12:17:00) [3]

Я в общем-то невнимательно прочел subj и ответил в общем.
А по поводу WordAppication.
Разве WordAppication.AutoQuit:=False этого не делает..
Закрываешься Disconnect"ом


Shaman_Naydak   (2002-03-04 12:00:00) [4]

Видать сильно мучает Михаилов этот вопрос.
Если сервер твой на дельфях
возьми сделай обработчик event у СomServer.OnLastRelease
его вид: TLastReleaseEvent = procedure(var Shutdown: Boolean) of object;

ComServer вызовет его при уничтожении последнего активного ком-объекта на сервере.
Если Shutdown по выходу будет False, то не закроется..



Можно это сделать и с клиентской стороны, хотя и не совсем корректно
uses ActiveX;
var ClassFactory: IClassFactory;
begin
OleCheck(CoGetClassObject(FControlData^.ClassID, CLSCTX_INPROC_SERVER or
CLSCTX_LOCAL_SERVER, nil, IClassFactory, ClassFactory));
ClassFactory.LockServer(True); // Блокируешь сервер. Фактически, чтобы он выгрузился надо вызвать с параметром False.
end;


Некорректность в том, что вызовы LockServer должны быть сбалансированы..
то есть в общем-то надо бы когда-нидь вызвать его и с параметром False


Наверх

Титульная страница Поиск, карта сайта Написать письмо