Главная страница
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.021 c
1-91285
Dmitriy_R
2003-04-17 12:20
2003.04.28
ServerSocket & ClientSocket


1-91399
Andrey_n
2003-04-16 15:18
2003.04.28
округление


7-91559
OxOTHuK
2003-03-07 22:19
2003.04.28
Tregistry.WriteBool


3-91190
denary
2003-04-10 02:18
2003.04.28
как программно создать пустой файл Excel?


14-91540
Zuvom
2003-04-08 07:18
2003.04.28
Вегерсоке соглашение