Главная страница
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.014 c
3-50202
Ler
2003-05-23 16:19
2003.06.16
Проблема с постановкой задачи.


3-50209
Niki
2003-05-23 14:01
2003.06.16
TADOConnection.Attributes


14-50438
SH
2003-05-29 14:14
2003.06.16
Уменьшение объёма exe-файлов


1-50315
Evg12
2003-06-02 12:39
2003.06.16
Пересылка бита из одной переменной в другую


3-50254
IGray
2003-05-19 18:35
2003.06.16
Дополнительное поле на время Run-Time