![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
В каком случае выполняется событие OnShow при создании формы?
Denis © (2004-08-11 13:35:00)Сегодня пришлось переделывать форму под иные справочники,оставив старый интерфейс. Сделал копию файлов исходной формы, обработал и подключил в проект, причем код не изменял - только запросы и все вытекающее...
Для открытия формы выполняю следующий код:
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.
Что может быть причиной этой разницы?
Denis (2004-08-11 13:59:00) [1]>Плохиш ©
черт... true
я его ставил false при FormStyle=fsMDIChild - тот же эффект был и я его оставил в покое. А при fsNormal - все работает как надо
Спасибо.
Плохиш (2004-08-11 13:43:00) [2]>Denis © (11.08.04 13:35)
Начинаем гадать: Visible у fmMatCardM = true?
Ega23 (2004-08-11 13:42:00) [3]Application.CreateForm(TfmMatCard, fmMatCard);
Application.CreateForm(TfmMatCardM, fmMatCardM);
Классы разные.