Вообщем пытаюсь синхронизировать свою локальную базу с сервером, использую при этом Restrequest,все идет нормально но только приложение зависает на время цикла.
В цикле идет перебор все данных в локальной базе и заносится по ссылке в базу.
Пытался сделать в потоке но выскакивает ошибка "Argument errore", а без потока не выскакивает.
Есть решение для улучшения скорости или хотя бы убрать зависания приложения?
спасибо за ранее за вашу помощь.
var
aggiornarichiesta:TJSONObject;
i,b:Integer;
a:TStream;
begin
FDTable1.First;for i :=0 to FDTable1.RecordCountdo
begin
ifRESTRequest1.Response.StatusCode=200 then
begin
tryRESTRequest1.ClearBody;RESTClient1.BaseURL:='http://localhost/loman/dati.php';RESTRequest1.Execute;
aggiornarichiesta :=TJSONObject.Create;
aggiornarichiesta.AddPair('id',FDTable1ID.Text);
aggiornarichiesta.AddPair('Materiale',FDTable1.FieldByName('Materiale').AsString);
aggiornarichiesta.AddPair('Descripzione',FDTable1.FieldByName('Descripzione').AsString);
aggiornarichiesta.AddPair('Quantita',FDTable1.FieldByName('Quantita').AsString);
aggiornarichiesta.AddPair('Treno',FDTable1.FieldByName('Treno').AsString);
aggiornarichiesta.AddPair('Discorta',FDTable1.FieldByName('Discorta').AsString);
aggiornarichiesta.AddPair('Commento',FDTable1.FieldByName('Commento').AsString);
aggiornarichiesta.AddPair('Creatoda',FDTable1.FieldByName('Creatoda').AsString);
aggiornarichiesta.AddPair('Ordinato',FDTable1.FieldByName('Ordinato').AsString);RESTClient1.BaseURL:='http://localhost/loman/Product/update.php';RESTRequest1.ClearBody;RESTRequest1.AddBody(aggiornarichiesta.ToString,ContentTypeFromString('application/json'));RESTRequest1.Execute;FDTable1.Next;RESTRequest1.ClearBody;RESTClient1.BaseURL:='http://localhost/loman/dati.php';RESTRequest1.Execute;
finally
RESTRequest1.DisposeOf;
end;
end;
end;
Вопрос
lomanu4
Всем привет.
Вообщем пытаюсь синхронизировать свою локальную базу с сервером, использую при этом Restrequest,все идет нормально но только приложение зависает на время цикла.
В цикле идет перебор все данных в локальной базе и заносится по ссылке в базу.
Пытался сделать в потоке но выскакивает ошибка "Argument errore", а без потока не выскакивает.
Есть решение для улучшения скорости или хотя бы убрать зависания приложения?
спасибо за ранее за вашу помощь.
Ссылка на комментарий
4 ответа на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.