я использовал HTTPD запросить некоторые данные из ИнтернетаFireMonkey нарезания резьбы на андроид шоу черной страница
function requestToServer(lParamList: TStringList) : string;
var
userDataString : string;
lHTTP: TIdHTTP;
serverResponce : string;
aobj: ISuperObject;
begin
application.ProcessMessages;
TThread.CreateAnonymousThread(
procedure
begin
lHTTP := TIdHTTP.Create(nil);
try
serverResponce := lHTTP.Post('http://domain.com/mjson.php', lParamList);
application.ProcessMessages;
aobj:= SO(serverResponce);
try
X := aobj['dta'].AsArray;
Except
form2.Memo1.Lines.Add('errr');
end;
if aobj['result'].AsString = 'lr_102' then
begin
form2.Label3.Text:='Saved token expired.';
form2.Rectangle2.Visible:=true;
end
else if aobj['result'].AsString = 'lr_103' then
begin
form2.Label3.Text:='Auto login.';
//load device data
form2.allDeviceListData := X;
form2.Hide;
form1.show;
end;
// globalReachedServer:=true;
finally
lHTTP.Free;
lParamList.Free;
end;
TThread.Synchronize(nil,
procedure
begin
end);
end
).Start();
end;
, но после того, как достичь этой функции приложения показать черную страницу И не не делать ничего, пока вручную близко
Как я могу сделать веб-запрос на заднем плане и без висящей на огне-обезьяне? Какой бот с помощью REST лучше получить доступ к веб-сервису?
Спасибо, для подключения к Интернету и захватить данные лучше использовать 'CreateAnonymousThread' или объявить нить' thread.execute'!?! –
@peimanF. Это не имеет большого значения, поскольку 'CreateAnonymousThread()' является просто оболочкой для 'TThread.Execute()' (у Indy есть 'TIdThreadComponent', который также является оберткой). Лучше будет вопрос, который лучше, «TThread» или «TTask». В любом случае, такие вопросы сводятся к личным выборам. –