Блог Александра Божко
Архивы
Рубрики
Поделись с другими!
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

Клиент Delphi Prism

Шаг 3.1 Настройка подключения

  1. Запускаем Delphi Prism; Закрываем все проекты;
  2. Запускаем приложение – сервер;
  3. Открываем Server Explorer (Alt+Ctrl+S)
  4. Из контекстного меню DataConnection выбираем пункт Add Connection…
  5. Data Source меняем на DataSnap (DataSnap Provider) (если такого пункта нет, возможно у вас не полная версия Prism);
  6. Настраиваем соединение. Если вы все делали по умолчанию и запускаете Prism и сервер на одной машине, то настройки следующие:
    • Protocol tcp/ip;
    • Host localhost;
    • Port 211;
  7. Жмем Test Connection;
  8. Если тест прошел, жмем ОК; К сожалению, к серверу созданному в Delphi 2009 мне подключиться не удалось;
  9. Двойной щелчок на соединении localhost;
  10. Переходим на ветку Stored Procedures;
  11. Выбираем метод TServerMethods_Delphi2010_ru.GetTable;
  12. Из контекстного меню выбираем View Parameters;
  13. В открывшемся представлении нажимаем кнопку Execute (маленькая кнопка слева вверху);
  14. если все прошло успешно, то видим данные из таблицы.

Шаг 3.2 Создание приложения – клиента

  1. Создаем новое приложение Windows Form Application;
  2. В Server Explorer выбираем соединение, созданное на предыдущем шаге;
  3. Из контекстного меню выбираем Generate Client Proxy;
  4. Получаем ClientProxy1.pas с определением класса под названием TServerMethods_Delphi2010_ruClient с несколькими методами, в том числе с методами EchoString, ServerTime и GetTable;
  5. Возвращаемся к основной форме Main Form и помещаем в ней кнопку Button и DataGridView;
  6. Обработчик кнопки определяем следующим образом:

method MainForm.button1_Click(sender: System.Object; e: System.EventArgs);
var
Client: ClientProxy.TServerMethods_Delphi2010_ruClient;
Connection: Borland.Data.TAdoDbxDatasnapConnection;
tbl: System.Data.IDataReader;
ds: System.Data.DataSet;
dt: System.Data.DataTable;
begin

Connection := New Borland.Data.TAdoDbxDatasnapConnection();
Connection.ConnectionString:= ‘communicationprotocol=tcp/ip;hostname=localhost;port=211′;
Connection.Open;

try
Client:= new ClientProxy.TServerMethods_Delphi2010_ruClient(Connection);
tbl := Client.GetTable;
ds := new System.Data.DataSet;
dt := new System.Data.DataTable(‘DataSnap’);
ds.Tables.Add(dt);
ds.Load (tbl,System.Data.LoadOption.PreserveChanges,ds.Tables[0]);
dataGridView1.DataSource := ds.Tables[0];

finally
Connection.Close;
end;
end;

Запускаем приложение, нажимаем кнопку и видим то, что и ожидали увидеть.

Примерно то же самое можно сделать и в VS 2010 на C# или Visual Basic. После установки Delphi Prism соответствующие сборки будут видны.

На данном этапе мы получили .Net клиент, без возможности модификации данных. При том, даже в этом случае, существуют нюансы. Если в таблице есть ограничения (constraints), то данный код для отображения данных может и не сработать, хотя в Delphi клиенте – все будет нормально. Очевидно, что на следующем этапе необходимо позаботиться и о модификации данных. О том, как ее реализовать я, возможно, расскажу в одном из следующих постов.


Поделись с другими!
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

2 комментария: DataSnap в Delphi 2009/2010 #3

Оставить комментарий

Ваш email не будет опубликован. Обязательные поля отмечены *

Вы можете использовать это HTMLтеги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Продукты DevArt
Купить онлайн:



Читай русскоязычные Delphi блоги
Каталог блогов Blogdir.ru
Яндекс.Метрика