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

В каком случае выполняется событие OnShow при создании формы?   Найти похожие ветки 

← →
Denis ©   (2004-08-11 13:35) [0]

Сегодня пришлось переделывать форму под иные справочники,оставив старый интерфейс. Сделал копию файлов исходной формы, обработал и подключил в проект, причем код не изменял - только запросы и все вытекающее...
Для открытия формы выполняю следующий код:
if fmMatCardM = nil
then
 try
  Application.CreateForm(TfmMatCardM, fmMatCardM);
 except
   On E:Exception do ShowMessage("Невозможно выполнить команду!");
 end;
fmMatCardM.TreeFlag:=true;
fmMatCardM.FormStyle:=fsMDIChild;

Так вот при Create начинает выполняться событие OnShow, что в данном случае при TreeFlag = false приводит к AV.

А вот код вызова исходной формы:
if fmMatCard = nil
then
try
 Application.CreateForm(TfmMatCard, fmMatCard);
except
   On E:Exception do ShowMessage("Невозможно выполнить команду!");
end;
fmMatCard.TreeFlag:=true;
fmMatCard.FormStyle:=fsMDIChild;

Здесь Create выполняется БЕЗ обработки OnShow.
Что может быть причиной этой разницы?


← →
Ega23 ©   (2004-08-11 13:42) [1]

Application.CreateForm(TfmMatCard, fmMatCard);

Application.CreateForm(TfmMatCardM, fmMatCardM);

Классы разные.


← →
Плохиш ©   (2004-08-11 13:43) [2]

>Denis ©   (11.08.04 13:35)

Начинаем гадать: Visible у fmMatCardM = true?


← →
Denis ©   (2004-08-11 13:59) [3]

>Плохиш ©  
черт... true
я его ставил false при FormStyle=fsMDIChild  - тот же эффект был и я его оставил в покое. А при fsNormal - все работает как надо
Спасибо.



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

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



Память: 0.45 MB
Время: 0.025 c
14-1091778547
Knight
2004-08-06 11:49
2004.08.29
Помехи на экране монитора...


1-1092287597
SerKom
2004-08-12 09:13
2004.08.29
Альтернатива массива записей c двумя полями


1-1092317777
Alex____
2004-08-12 17:36
2004.08.29
Принцып работы архиватора.


3-1091693682
Sirruf
2004-08-05 12:14
2004.08.29
BLOB-поля по-простому


3-1091693072
Виктор
2004-08-05 12:04
2004.08.29
ХП




   Наверх