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

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

Проблема с MDI формами [D5, WinXP]


Startwar ©   (2002-05-12 00:53:00) 

Такая проблема:
У меня есть 1 MDI Форма, и 2 MDI Child.. При нажатии на 1 MDIChild форме запускается 2 MDIChild форма.. На этой форме я к примеру нажимаю еще одну кнопку и по идее на 1 MDIChild форме должно стать видимым поле.. Выдает ошибку AccessVeolation... Я это делаю так:

procedure TForm3.Button1Click(Sender: TObject);
begin
Form2.Edit2.Visible := true;
end;


Startwar   (2002-05-12 15:37:00) [1]

Спасибо Malder... Все работает....


Malder   (2002-05-12 14:40:00) [2]

Startwar, скорее всего, неправильно понимаешь зачем нужно MDI. Все дочерние окна должны быть динамическими, а у тебя, скорее всего, статические. В твоем случае наверное и SDI можно обойтись.

У тебя в FormMain.MDIChildren массив дочерних окон. Я не могу угадать, какой индекс имеет в этом массиве FormVak и FormFind. Первая из них имеет индекс допустим 0, а другая 1.
Тогда в FormFind:

TFormVak(FormMain.MDIChildren[0]).Edit2.Visible:=false;


Startwar   (2002-05-12 14:24:00) [3]

А по конкретней можно? Как это будет выглядеть на моем примере?
MDI форма называется FormMain, 1 дочерняя на которой мне нужно из второй формы выключить поле Edit называется FormVak, а вторая дочерняя FormFind. Заранее спасибо!!!


Cobalt   (2002-05-12 10:10:00) [4]

При работе с MDI Child нельзя использовать статические ссылки. Обращайтесь толькочерез массив MDIChildren Главной формы. По индексу, или перебором заголовков/тэгов или чего еще - сами решайте.

TCustomForm.MDIChildren
Provides indexed access to all MDI child forms.
property MDIChildren[I: Integer]: TForm;
Да поможет вам F1.


Cobalt   (2002-05-12 10:09:00) [5]

При работе с MDI Child нельзя использовать статические ссылки. Обращайтесь толькочерез массив MDIChildren Главной формы. По индексу, или перебором заголовков/тэгов или чего еще - сами решайте.

TCustomForm.MDIChildren
Provides indexed access to all MDI child forms.
property MDIChildren[I: Integer]: TForm;


Наверх

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