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