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

Вниз

прогрес окно   Найти похожие ветки 

 
FANTASY   (2003-06-03 01:37) [0]

есть функция которая будет относительно долго исполнатся
я решил добавть в проэкт еше одну форму с надписью "Wait !"
и при сттарте функции запускать на обозрение эту форму а после обработки спрятать гдето так
procedure TForm1.Button1Click(Sender: TObject);
begin
StartShow;
//
//
//
EndShow;
end;
только не получается.Форма которая показывает сообшение не успевает прорисоватся. а ShowModal вобше стопорит основную процедуру(ждет закрытие формы). А не плохо былобы использовать такой пием в процедурах и функциях требующих много времени на выполнение.
ПОСКАЖИТЕ ПРАВИЛЬНОЕ РЕШЕНИЕ как правильно прописать StartShow;EndShow; чтобы фома "Wait !" при вызове StartShow; успела прорисоватся.


 
Нуу   (2003-06-03 02:49) [1]

ShowModal, Вы правы - не годится. А чтобы "успела прорисоваться", тут так - внутри одной процедуры Вы можете отображать различные состояния данной формы либо явно вызывая процедуры ее отрисовки, либо позволяя системе обрабатывать сообщения о ее отрисовке.


 
Andrey V.   (2003-06-03 06:08) [2]

Show
и
Application.ProcessMessages;


 
OlDemon   (2003-06-03 06:31) [3]

А зачем использовать форму? ИМХО достаточно нарисовать панель. А для прорисовки можно использовать метод Update.


 
AbrosimovA   (2003-06-03 08:34) [4]

Примерно так:

procedure TForm1.Button1Click(Sender: TObject);
begin
Form1.Hide;//Лучше скрыть основную форму
StartShow;
........//Длительный процесс
EndShow;
end;

procedure TForm1.StartShow;
begin
MessageForm.Caption:="Чтение данных из файла";//Заголовок формы
MessageForm.Show;
MessageForm.Update;//Для прорисовки окна
end;

procedure TForm1.EndShow;
begin
MessageForm.Hide;
Form1.FormStyle:=fsStayOnTop;//Отобразить поверх всех
Form1.Show;
end;


 
Fantasy   (2003-06-04 00:44) [5]

большое спосибо !



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

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

Наверх




Память: 0.45 MB
Время: 0.006 c
14-50474
Move
2003-05-28 12:42
2003.06.16
сервер базы данных


7-50546
Dabadabiabo
2003-04-11 11:24
2003.06.16
Убрать прогу с Трэя и ТаскБара при запуске


1-50319
bkv
2003-06-02 18:01
2003.06.16
Ограничение на создание количества экземпляров обьектов.


14-50505
Soft
2003-05-30 16:02
2003.06.16
В чем разница между хакером и кракером?


1-50395
Тфьу
2003-06-04 13:05
2003.06.16
Отрисовка линии Canvas в





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский