Иллюстрированный самоучитель по Delphi 7 для профессионалов

Пример "тонкого" клиента

Соединение клиента с сервером приложения

Для соединения клиентского приложения с сервером в локальной сети использован компонент 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 управляет доступностью кнопок формы, анализируя текущее состояние наборов данных.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.