![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
проблема с изменением 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