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

Вниз

DataSnap сервер (RemoteDateModule) как сервис NT   Найти похожие ветки 

 
BorisUK ©   (2003-04-09 09:28) [0]

Добавил RDM в сервис... вроде все работает но если сервис не запущен, то попытка установить соединен евсеравно удается... экземпляр RDM создается и сервис на секунду стартует, но сразу (на стороне сервера) происходит попытка его (сервис) закрыть и потому имеем сообщение о том что типа "вы правда ходите закрыть СОМ сервер - там есть еще не завещенные конекты... ля ля ля"
Хотелось бы чтоб когда сервис не запущен отказывать в соединении...
Подскажите как это можно сделать?

Пробовал
procedure TMyRDM.RemoteDataModuleCreate(Sender: TObject);
begin
if not SvcStarted then Exception.Create("Service not Started");
end;

procedure TMySvc.ServiceStop(Sender: TService; var Stopped: Boolean);
begin
SvcStarted :=false;
end;

procedure TMySvc.ServiceStop(Sender: TService; var Stopped: Boolean);
begin
SvcStarted :=true;
end;

Это не работает... как бы клиенту ошибку в виде сообщения об отказе в коннекте послать???


 
BorisUK ©   (2003-04-09 15:32) [1]

Эээх...
Спрошу по другому.
Как запертить создавать экземпляр RDM, входящего в состав сервиса... если этот сервис не запущен???
Задача не ординарна - помогите решить силой коллективной мысли плз :)


 
sniknik ©   (2003-04-09 16:10) [2]

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

TDataSetProvider создавать в рантайме после получения подтверждения что сервис работает. (на клиенте будут отказы не правильный провайдернэйм)

описать метод (вызывать с клиента перед подключением) где возвращать статус сервиса. и там решать работать не работать.

в обоих случаях экземпляр RDM создастся и количество коннектов будет расти но работать клиент не сможет.

и третий вариант закрыть все до попытки создать RDM (ну на самом деле тут не уверен, до это или после ), но закрытие сервера из главной формы ->
procedure TForm1.FormShow(Sender: TObject);
begin
if not EnableRun then Close;
end;
у меня никаких вопросов не задает, а подключение клиента завершается ошибкой. (судя по всему тебе это и надо, но требует привязки к твоей структуре программы (не уверен что у тебя чтото показывается, сервис все же))



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

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

Наверх




Память: 0.47 MB
Время: 0.017 c
1-91259
GeorgeM
2003-04-16 18:29
2003.04.28
Соотношение между width и кол-вом символов


1-91300
Alta
2003-04-15 11:56
2003.04.28
файл - чтение и запись


14-91461
Почтальён Печкин
2003-04-09 13:09
2003.04.28
Письмо счастья


14-91516
BEARD
2003-04-10 22:27
2003.04.28
Просьба к Мерлину...


3-91182
Иванов Сергей
2003-04-09 16:48
2003.04.28
сложный запрос