Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.08.15;
Скачать: CL | DM;

Вниз

TThread   Найти похожие ветки 

 
Are you want a tea?   (2002-08-04 16:06) [0]

Моя программа при нажатии кнопки копирует файл с помощью CopyFile. Но при этом программа замораживается, пока не будет закончено копирование. Это не есть хорошо. И я создаю поток:
TCopyThread=class(TThread)
private
fOldFile,fNewFile:String;
public
constructor Create(OldFile,NewFile:String);
procedure Execute; override;
end;

constructor TCopyThread.Create(OldFile, NewFile: String);
begin
fOldFile:=OldFile;
fNewFile:=NewFile;
inherited Create(true);
end;

procedure TCopyThread.Execute;
begin
CopyFile(PChar(fOldFile),PChar(fNewFile),false);
end;

procedure TForm1.btnCopyClick(Sender: TObject);
begin
with TCopyThread.Create(edtOldFile.Text,edtNewFile.Text) do
Execute
end;

При этом программа всё равно замораживается. Но если inherited Create(true) заменить на inherited Create(false) а в btnCopyClick написать TCopyThread.Create(edtOldFile.Text,edtNewFile.Text), то всё работает как надо. Почему так происходит?


 
DiamondShark ©   (2002-08-04 16:18) [1]

Execute не надо вызывать


 
TTCustomDelphiMaster ©   (2002-08-04 16:45) [2]

Are you want a tea? (04.08.02 16:06)
with TCopyThread.Create(edtOldFile.Text,edtNewFile.Text) do
Execute // Заменить на Resume

Ошибка в том что вы вызываете метод Execute не через новый поток, а в главном потоке (как обычный метод).


 
Are you want a tea?   (2002-08-04 20:45) [3]


> TTCustomDelphiMaster © (04.08.02 16:45)

Спасибо, понял.



Страницы: 1 вся ветка

Текущий архив: 2002.08.15;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.014 c
14-48319
Alexandr
2002-07-11 12:43
2002.08.15
Блондинка за рулем


14-48315
Dr. W
2002-07-21 14:26
2002.08.15
Не совсем по теме... Проблема с TP7


1-48057
snoup
2002-08-02 20:14
2002.08.15
Скажите пожалуйста как сделать чтобы в листбоксе отображались кон


14-48305
VictorT
2002-07-22 11:00
2002.08.15
Бесплатный почтовый ящик.


6-48236
Ron
2002-06-03 21:40
2002.08.15
WebBrowser