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

Вниз

Где правильно распологать вызов процедур, чтобы форма не висела?   Найти похожие ветки 

 
Prizrak-ppm   (2002-12-24 19:03) [0]

например, есть кусок программы
while FindNextFile(k,p) do
begin
CopyFile(PChar(s+p.cFileName),PChar(s2+p.cFileName),false);
metka.Caption:=s+p.cFileName;
text.Text:=text.Text+s+p.cFileName+chr(13)+chr(10);
i:=i+1;
end;

требуется, чтобы форма не висела и как минимум заголовок metka изменялся в соответствии с именем файла

подскажите, пожалуйста, где нужно разместить этот код программы?


 
gsu ©   (2002-12-24 19:06) [1]

Чтобы форма не висела, надо ее положить или ,н-р, выполнять код в отдельной нити


 
Clickmaker ©   (2002-12-24 19:08) [2]

Либо в отдельном потоке, либо вставить Application.ProcessMessage после CopуFile, но последний вариант не спасет, если копируется очень большой файл. Лучше всего поток


 
Anatoly Podgoretsky ©   (2002-12-24 19:21) [3]

Все это заменить на ShFileOperation и крутить там же стандарную анимацию

Clickmaker © (24.12.02 19:08)
Application.ProcessMessage частное решение, при длинных файлах и/или низкой скорости мало эффективное

Поток конечно очень эффективно


 
drin ©   (2002-12-25 03:56) [4]




Var
hThr: THandle;
ThrID: DWORD;
.......

procedure My_Proc;
begin
while FindNextFile(k,p) do
begin
CopyFile(PChar(s+p.cFileName),PChar(s2+p.cFileName),false);
metka.Caption:=s+p.cFileName;
text.Text:=text.Text+s+p.cFileName+chr(13)+chr(10);
i:=i+1;
end;
end;

........
hThr:=CreateThread(nil, 0, @My_Proc, nil, 0, ThrID);
........

Всё что выполняется в ф-ии My_Proc, выполняется паралельно с тем что выполняется в основном потоке в том числе и прорисовка.



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

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

Наверх




Память: 0.47 MB
Время: 0.016 c
8-15179
Ascan_
2002-09-18 14:30
2003.01.06
Как не зависеть от кол. цветов Descktop а ?


14-15311
BF7ru
2002-12-17 17:05
2003.01.06
Siemens sl45i - самый популярный телефон


14-15254
Kirill
2002-12-16 16:34
2003.01.06
Пароль на FTP torry.net


3-14961
Андрей М
2002-12-14 07:07
2003.01.06
Определение общего кол-ва записей в базе


1-15158
SaperXL
2002-12-23 22:55
2003.01.06
Install Shield