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

Проблема с MDI формами   Найти похожие ветки 

 
Startwar ©   (2002-05-12 00:53) [0]

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

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


 
Cobalt ©   (2002-05-12 10:09) [1]

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

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


 
Cobalt ©   (2002-05-12 10:10) [2]

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

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


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

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


 
Malder ©   (2002-05-12 14:40) [4]

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

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

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


 
Startwar ©   (2002-05-12 15:37) [5]

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



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

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



Память: 0.46 MB
Время: 0.014 c
3-73065
ExPl
2002-04-28 11:28
2002.05.23
Resize DBGrid а


1-73207
Иван
2002-05-14 01:24
2002.05.23
Копировать Объект


6-73330
SerVS - S
2002-03-12 16:50
2002.05.23
Variant + TCP


1-73189
Цикл
2002-05-14 10:23
2002.05.23
Как грамотно прервать работу цикла ?


1-73284
xrip
2002-05-11 01:26
2002.05.23
Как сделать глобальные хоткеи?




   Наверх