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

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

Скрытие ;MDiChild [D6, WinXP]


jiura ©   (2003-02-06 17:11:00) 

Есть форма,в которой создается MDIChild окно (оно дейсмтвительно создается)Я хочу чтобы при первом нажатии на пункт меню оно создавалось а при втором делалось невидымым.Я пишу (YptablExist переменная обьявленная как Boolean за пределами данной процедуры):
procedure TFrmMain.N12Click(Sender: TObject);
Var
Child:TFrmYpTabl;
i:byte;
begin
If YptablExist=false then Begin
YptablExist:=true;
Child :=TFrmYpTabl.Create(application);
Child.Name:="frmyprtabl";
child.Caption:="111";
End
Else
Begin
frmmain.MDIChildren[0].visible:=false;
End;
end;
End;
End;

Как только программа доходит до строки где нужно присвоить visible:=False возникает критическая ошибка.Вмето нуля ставил 1,ничего не помогает.Даже писал цикл по нахождению этого номера-находит 0 но при попытке присвоения false выдает ошибку.В чем тут дело?


VitGun   (2003-02-06 18:13:00) [1]

2 jiura.Прибивай форму насмерть - это единственный выход.


Паша   (2003-02-06 17:55:00) [2]

MDIChild не может быть невидимым - см. VCL (поставь бряк на visible:=false в твоем примере, и по F7).
Как сделать невидимым - см. выше, это будет работать (у себя пробовал, получается некрасиво).
>что ты имеешь в виду...
Зачем его тушить-то? Пусть живет!:) Если серьезно, то смысла в приведенном коде (jiura © (06.02.03 17:11)) я не увидел.


jiura   (2003-02-06 17:39:00) [3]

А как ты предлагаешь?Я имею в виду что ты имеешь в виду под " но зачем так изголяться"?


Паша   (2003-02-06 17:27:00) [4]

>Что я не могу созданную форму сделать невидимой?
Совершенно верно, это невозможно сделать.
Можно св-во FormStule:=fsNormal, только тогда visible:=false, а потом в нужном месте вернуть в fsMDIChild, но зачем так изголяться?


jiura   (2003-02-06 17:22:00) [5]

Я попробовал поместить на эту,создающуюся форму кнопку и в ее коде написал строку:
Visible:=false;

Возникла та же самая критическая ошибка!!!Почему!Что я не могу созданную форму сделать невидимой?


Наверх

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