![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Неужели никто не поможет?!
quadronik © (2005-11-25 11:20:00)Удалено модератором
Примечание: СПАМ
gdaujk (2005-11-26 02:38:00) [1]Если TThread, то используй Synhronize.
interface
...
TTestThread = class(TThread)
private
Procent: Integer;
protected
procedure RefreshProgressBar;
procedure Execute; override;
end;
...
implementation
{ TTestThread }
procedure TTestThread.Execute;
var
I: Integer;
begin
Procent := 0;
FreeOnTerminate := True;
for I := 0 to 20000 do
begin
if Terminated then Break;
Inc(Procent);
Synchronize(RefreshProgressBar);
end;
end;
procedure TTestThread.RefreshProgressBar;
begin
Form1.ProgressBar1.Position := Procent;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
TestThread: TTestThread;
begin
TestThread := TTestThread.Create(False);
end;
PS: Можно ещё сообщениями в главное окно кидаться...
quadronik (2005-11-26 00:27:00) [2]Может я просто не ясно выразился... Проблема у меня в чем? Поясняю...
При скачивании файла работает метод idftp.Get(...), при этом пока весь файл не скачается вся программа просто зависает и ни на что не реагирует.
Даже пробовал создать отдельный поток, который проверяет долю скачиваемого файла и обновляет форму с ProgressBar`ом. Но при прогоне эта форма тоже подвисает и ПрогрессБар не прорисовывется. Программа почти готова, осталась самая ерунда. Не знаю как справиться!!! Просто до этого никогда не пробовал программировать параллельные задачи.
Хотя бы подскажите общий алгоритм дальнейших действий.
Буду очень благодарен.
Спасибо...
Ega23 (2005-11-25 11:25:00) [3]Конечно. Над ней поржали и всё.
Если ты САМ написал ftp-клиент, то такая малость, как ProgressBar тебя смутить не должна.