Delphi MORMot. Как сделать мобильный клиент (Android,iOS)

Я новичок в MORMot. Я сделал сервер Mormot и клиент FMX. Работает в режиме Win. Затем я изменил пункт назначения на Android и получил ошибку.

[DCC Fatal Error] SynCrtSock.pas (253): F2613 Устройство "Contnrs" не найдено (устройство SynCrtSock;).

{$R *.fmx}
{$R *.LgXhdpiTb.fmx ANDROID}

function Client(const SQL: RawUTF8): RawUTF8;
var 
  Http: THttpClientSocket;
  URI: AnsiString;
begin
  if ParamCount<>0 then
    URI := AnsiString(ParamStr(1)) 
  else
    URI := '192.168.1.20';
  Http := OpenHttp(URI,'888');
  if Http <> nil then
    try
      Http.Post('root',SQL,TEXT_CONTENT_TYPE);
      result := Http.Content;
    finally
      Http.Free;
    end 
  else
    result := '';
end;


procedure TForm3.TMSFMXButton1Click(Sender: TObject);
begin
  ds1.DataSet := JSONToClientDataSet(self,Client('select * from Lists'));
end;

Это хорошо работает для Win, но не работает для Android.

Как сделать демо для iOS и Android?

1 ответ

Как указано в документации, текущая версия основных модулей инфраструктуры предназначена только для систем Win32 / Win64 под Delphi и (в предварительном состоянии) Windows или Linux под FPC. Таким образом, вы можете запустить сервер на этих платформах.

Но вы можете написать Client на всех поддерживаемых Delphi платформах, используя несколько выделенных кроссплатформенных клиентских модулей, и сгенерировать некоторый код, чтобы использовать серверное содержимое ORM и SOA.

Чтобы написать OSX или мобильный клиент, используя FMX для пользовательского интерфейса, не используйте обычные SynCommons.pas mORMot.pas единицы, но выделенные единицы, доступные в CrossPlatform подпапка.

Документация довольно подробно об этом.

Смотрите также этот пример и связанный с ним сгенерированный клиентский модуль.

Другие вопросы по тегам