Соединение
клиента с сервером приложения
Для соединения клиентского приложения с сервером в локальной сети использован компонент
srvrCon класса TDCOMConnection. Данный тип соединения выбран как наиболее простой и требующий лишь наличия локальной сети или даже не требующий ничего — в демонстрационном приложении можно использовать сервер приложения, установленный на этом же компьютере.
Для настройки соединения компонента SrvrCon в свойстве
ComputerName было указано имя компьютера сервера. После этого в списке свойства
ServerName можно выбрать один из доступных зарегистрированных серверов. В нашем случае это сервер simpieAppSrvr.simpieRDM, имя которого состоит из имени приложения сервера и имени главного удаленного модуля данных.
Обратите внимание, что в этом же списке имеется и дочерний модуль
Secondary. Однако для получения доступа к наборам данных дочернего модуля данных мы не будем создавать еще одно соединение, а воспользуемся компонентом
TSharedConnection, т. к. он специально предназначен для подобных случаев. Для его настройки достаточно указать в свойстве
Parentconnection компонент соединения. В нашем случае — это
srvrCon.
Для компонента srvrCon предусмотрены два метода-обработчика (см. листинг 22.1) — после подключения и перед отключением соединения. В них открываются и закрываются все наборы данных клиентского приложения.
Теперь в клиентском приложении доступны наборы данных обоих удаленных модулей данных сервера приложений.
Непосредственно подключение к серверу осуществляется кнопкой Соединение. При ее нажатии выполняется следующий простой код:
procedure TfmMain.tbConnectClick(Sender: TObject);
begin
try
DM.SrvrCon.Close;
DM.SrvrCon.ComputerName := edServerName.Text; DM.SrvrCon.Open;
except
on E: Exception do MessageDlg(E.Message, mtError, [mbOK], O);
end;
SetCtrlState;
end;
-Соединение закрывается, задается новое имя компьютера сервера, соединение открывается. Специально созданный метод формы
setctristate управляет доступностью кнопок формы, анализируя текущее состояние наборов данных.
|