Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Corba";
Текущий архив: 2006.07.02;
Скачать: [xml.tar.bz2];

Вниз

Как можно узнать, был ли запущен сервер вручную?   Найти похожие ветки 

 
Sinsin   (2005-07-12 12:05) [0]

Уважаемые коллеги!

Имеется 3-уровневое MIDAS-приложение, связь осуществляется через SocketConnection. При старте клиентской части серверная часть запускается автоматически, все работает.

Однако, есть крайняя необходимость время от времени запускать серверную часть вручную. Причем, при ручном запуске она должна выполнить некоторые действия, которые при автоматическом запуске не нужны.
В связи с чем вопрос: как в теле сервера узнать, был ли он запущен автоматически, или вручную? (и можно ли вообще?)

Надеюсь на вашу помощь!

С уважением,
Sinsin


 
Sinsin   (2005-07-12 12:07) [1]

P.S. Прошу прощения, второпях забыл указать: Delphi, Windows.


 
Drakosha ©   (2005-07-12 12:18) [2]

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


 
just_me   (2005-07-12 14:49) [3]

property StartMode


 
sinsin   (2005-07-12 16:29) [4]

To Drakosha:
Спасибо за совет!
Ты абсолютно прав: RemotaDataModule создается только при коннекте клиента. У меня была идея, похожая на твою, но пока не удается ее реализовать:
из RDM можно с серверной формой творить что угодно, но все эти творения возымеют действие только ПОСЛЕ того, как эта серверная форма создастся и отобразится на экране. Например, заводим там bool-переменную Flag, из RDM присваиваем ей True. Присвоение проходит гладко. Однако, в событии OnShow серверной формы эта переменная оказывается все еще False! Не могу понять, отчего.:(

To just_me:
Насколько я понимаю, это свойство есть только при DCOM-связи (когда есть переменная ComServ), а у меня Socket. Или его можно как-то притянуть за уши?
Тем не менее - спасибо, я не знал, что хоть для DCOM есть такое красивое решение.


 
just_me   (2005-07-12 19:09) [5]

Да вроде это без разницы. Для сервера на основе Socket все равно базовым будет TAutoObject, а для него можно спросить StartMode. Посмотри в unit OleAuto.pas


 
Sinsin   (2005-07-13 16:05) [6]

Ты прав, спасибо большое за помощь!
Подключил в сервере модуль ComServ.pas - и можно резвиться теперь с ComServer.StartMode сколько угодно.:)



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

Форум: "Corba";
Текущий архив: 2006.07.02;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.019 c
1-1148386422
sdram
2006-05-23 16:13
2006.07.02
Подскажите как работать с HTML документом


15-1149527219
pGn-BrutaL
2006-06-05 21:06
2006.07.02
церковники запретили продажу кода да винчи...


11-1129697831
Vladimir Kladov
2005-10-19 08:57
2006.07.02
Версия 2.17


2-1150182459
Id
2006-06-13 11:07
2006.07.02
Username


15-1149689255
Ega23
2006-06-07 18:07
2006.07.02
Модераторы! Загляните в Базы.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский