0
我使用的httpd從互聯網Android上展示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使用REST更好地訪問Web服務?
謝謝你,爲連接到互聯網並獲取數據是更好地使用'CreateAnonymousThread'或'thread.execute'聲明線程!?! –
@peimanF。它並不重要,因爲'CreateAnonymousThread()'只是'TThread.Execute()'的一個包裝器(Indy有一個'TIdThreadComponent'也是一個包裝器)。更好的問題是哪個更好,TThread或TTask。無論哪種方式,這些問題歸結爲個人選擇。 –