Главная страница
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.47 MB
Время: 0.011 c
1-50290
Voyager
2003-06-03 16:36
2003.06.16
Подскажите как усыпить процес


9-50195
Хранитель_7К
2003-01-10 10:55
2003.06.16
Вопрос по геометрии


7-50528
Dimaz-z
2003-04-10 15:23
2003.06.16
Как созжать и поместить ярлык?


14-50430
Soft
2003-05-28 13:09
2003.06.16
САГА О ПРОГРАММИСТАХ-КУДЕСНИКАХ (страшилка в стихах и прозе)


9-50189
Кен
2003-01-10 03:07
2003.06.16
Где взять hlp-файл по Fastlib ? Сайт gfody.com не грузится. Может