Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.01 c
4-50575
b_Alex
2003-04-16 14:41
2003.06.16
Определение типа компонента


4-50569
Teetos
2003-04-16 09:17
2003.06.16
Изменение иконки в исполняемом модуле


4-50564
}{enon
2003-04-17 17:32
2003.06.16
Как получить название кнопки?


7-50549
Dimaz-z
2003-04-10 15:29
2003.06.16
Как сделать голосовой звонок?


3-50208
Aleman
2003-05-26 11:26
2003.06.16
Как в Oracle считать тексты процедур, функций и пакетов?




   Наверх