Форум: "Основная";
Текущий архив: 2003.01.06;
Скачать: [xml.tar.bz2];
ВнизГде правильно распологать вызов процедур, чтобы форма не висела? Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.008 c