Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.55 MB
Время: 0.031 c
1-14980
Pasechnik
2002-12-22 11:08
2003.01.06
Кааим образом можно быстро работать с байтовой структурой файлов?


3-14963
pavelsinicinv
2002-12-15 11:45
2003.01.06
условие запроса


1-15095
vicheslav
2002-12-21 14:36
2003.01.06
Excel как можно получить выделеный диапазон?


1-14976
ПростоСтудент1-гоКурса
2002-12-24 00:33
2003.01.06
Помогите плз проблемы с 0


3-14897
jaric
2002-12-12 18:41
2003.01.06
Треклятая IBM и ее Lotus Nodes





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский