Привет тостер! Пытаюсь реализовать циклическую загрузку файла по средстом потока. т.к. форма нужна постоянно в доступе, внешне должен постоянно подгружаться файл базы.
type
ThreadHTTP = class(TThread)
private
public
Stream: TMemoryStream;
i: integer;
procedure Execute; override;
procedure ShowResult;
end;
{$R *.fmx}
procedure TForm1.Button1Click(Sender: TObject);
begin
Timer1.Enabled := true;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
end;
procedure TForm1.Timer1Timer(Sender: TObject);
var
MyHTTP: ThreadHTTP;
begin
ProgressBar1.Value := 0;
MyHTTP := ThreadHTTP.Create(False);
end;
{ ThreadHTTP }
procedure ThreadHTTP.Execute;
var
j: integer;
begin
inherited;
i := 0;
j := 0;
Stream := TMemoryStream.Create;
Form1.IdHTTP1.Get('http://сайт/base.txt', Stream);
Form1.ProgressBar1.Max := Stream.Size;
while j <= Stream.Size do
begin
inc(i);
Synchronize(ShowResult);
inc(j);
Form1.ProgressBar1.Value := Form1.ProgressBar1.Value + 1;
end;
// Stream.SaveToFile('C:\base.txt');
Stream.SaveToFile(tpath.getdownloadspath + '/base.txt');
// Form1.Memo1.Lines.LoadFromFile('C:\base.txt');
Form1.Memo1.Lines.LoadFromFile(tpath.getdownloadspath + '/base.txt');
Stream.Free;
end;
procedure ThreadHTTP.ShowResult;
begin
Form1.Label1.Text := IntToStr(i) + ' kbs';
end;
на ПК все отлично работает и при изменении базы из вне все отлично работает в реальном врмемени. в АНДРОИД системе не хочет грузить файл в некакую. Прогресс бар не бежит. ФАйл не качает и не сохраняет. В чем проблема?