Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

проблема с изменением WindowState в FormActivate после создания [D6, Win2k, WinXP]


uran ©   (2005-06-09 19:16:00) 

не могу понять, где я делаю глупость

есть MDI приложение и в нем MDIChild форма, которая создается по ходу выполнения программы такой структурой:

  created := False;
 for i := Главная_форма.MDIChildCount - 1 downto 0 do
   if Главная_форма.MDIChildren[i] is TМоя_Форма then
     created := True;
 if not created then
   Дочерняя_форма := TДочерняя_форма.Create(Application);


далее необходимо, чтобы при обращении к Дочерняя_форма она разворачивалась (максимизировалась). пишу в Дочерняя_форма.FormActivate строчку вида

  Дочерняя_форма.WindowState := wsMaximized

получаю ошибку при создании Дочерняя_форма! то есть после того, как она создана, если с нее фокус убрать и потом снова вернуть - все прекрасно, форма максимизируется. но при создании - Access violation

очень нид хелп


uran   (2005-06-09 22:15:00) [1]

люди, человеки, молвите слово, а ? )

появилась мысль, что проблема связана с тем, что в MDI неактивная дочерняя форма не может быть максимизирована. но почему тогда в момент активации уже созданной можно менять ее WindowState, а в связке создание-активация - нет ?


uran   (2005-06-09 19:21:00) [2]

в коде написал Моя_форма, имел в виду Дочерняя_форма

но это все не особо важно, у меня все MDIChild создаются по ходу выполнения программы, естественно, в их OnCreate и OnActivate написана куча всего (выполнение запросов, открытие других окон), но проблема возникла только тогда, когда я решил изменить WindowState


Наверх

Титульная страница Поиск, карта сайта Написать письмо