Вниз
Скачать: CL | DM;

Модальный диалог.   Найти похожие ветки 

← →
_zerg   (2003-06-11 12:27) [0]

Здравствуйте!

Никак не могу понять, при нажатии на кнопку создаю форму, делаю ShowModal, всё гуд, но затем в этой модальной форме выполняется длительная операция и система (XP) без проблем переключается на основную форму, хотя не должна.
Подскажите в чём проблема.

Спасибо!


← →
Spawn ©   (2003-06-11 12:32) [1]

Покажи код :)


← →
KSergey ©   (2003-06-11 12:37) [2]

А внутри этой длительной операции Application.ProcessMessages стоит? Может в нем дело?


← →
Valet   (2003-06-11 12:38) [3]

Где то в этой процедуре ты разблокируешь основную форму (делаешь EnableWindow(mainform.handle, true) для основной формы.
Это только предположение, но проблема именно в твоей операции.


← →
_zerg   (2003-06-16 10:21) [4]


Form1 = new TForm1(NULL);
Form1->ShowModal();
delete Form1;

Далее в Form1 делается перенос данных из одной базы в другую.
Application->ProcessMessages() нет.


← →
Pat ©   (2003-06-16 12:46) [5]

Бывает такой глюк у ShowModal...к сожалению...Сам иногда натыкался, причем на Win98.
Попробуй сделать Form1.FormStyle=fsStayOnTop; Form1.Show; MainForm.Enabled:=false;тра-ля-ля;Form1.free; MainForm.Enabled:=true
Это примерная схема...Естественно, надо все в try..finally упаковать


← →
Юрий Федоров ©   (2003-06-16 12:51) [6]

А может, нужно не NULL передавать в конструктор, а реального владельца ?


← →
Skier ©   (2003-06-16 12:56) [7]

>_zerg (16.06.03 10:21)
-владелец Application
-BorderStyle := bsNone
-Хорошо бы украсить TBevel-ом и TProgressBar-ом
с использованием ProcessMessages


← →
_zerg   (2003-06-18 11:10) [8]

ProcessMessages не поставишь, т.к. основное время занимает выборка из бд!


← →
stone ©   (2003-06-18 12:04) [9]

А почму бы не выполнять выборку в отдельном потоке. На этом сайте даже видел статью с примером.



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

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



Память: 0.46 MB
Время: 0.01 c
11-97559
VadimSmirnoff
2002-10-15 18:35
2003.06.30
Application.Handle .Handle


3-97518
gep
2003-06-06 06:24
2003.06.30
Firebird+fib_plus с чего начать


7-97895
demonyator
2003-04-20 20:25
2003.06.30
Как заблокировать пользователю доступ к определённой папке?


14-97866
HolyGlory
2003-06-12 14:08
2003.06.30
По VC++


3-97490
McSimm2
2003-06-05 09:42
2003.06.30
Индексирование полей на ORACLE




   Наверх