Текущий архив: 2005.12.11;
Скачать: CL | DM;
ВнизНеужели никто не поможет?! Найти похожие ветки
← →
quadronik © (2005-11-25 11:20) [0]Удалено модератором
Примечание: СПАМ
← →
Ega23 © (2005-11-25 11:25) [1]Конечно. Над ней поржали и всё.
Если ты САМ написал ftp-клиент, то такая малость, как ProgressBar тебя смутить не должна.
← →
quadronik © (2005-11-26 00:27) [2]Может я просто не ясно выразился... Проблема у меня в чем? Поясняю...
При скачивании файла работает метод idftp.Get(...), при этом пока весь файл не скачается вся программа просто зависает и ни на что не реагирует.
Даже пробовал создать отдельный поток, который проверяет долю скачиваемого файла и обновляет форму с ProgressBar`ом. Но при прогоне эта форма тоже подвисает и ПрогрессБар не прорисовывется. Программа почти готова, осталась самая ерунда. Не знаю как справиться!!! Просто до этого никогда не пробовал программировать параллельные задачи.
Хотя бы подскажите общий алгоритм дальнейших действий.
Буду очень благодарен.
Спасибо...
← →
gdaujk © (2005-11-26 02:38) [3]Если 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: Можно ещё сообщениями в главное окно кидаться...
Страницы: 1 вся ветка
Текущий архив: 2005.12.11;
Скачать: CL | DM;
Память: 0.44 MB
Время: 0.042 c