Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.10.21;
Скачать: [xml.tar.bz2];

Вниз

Глюк с MDI   Найти похожие ветки 

 
GIL   (2002-10-10 04:01) [0]

Есть MDI-приложение, глюк заключается в том, что если закрывается хотябы одна из нескольких дочерних форм, то из главной формы невозможно обратиться к активной дочерней.
Дочерняя форма вызывается с помощью вот такой команды: Application.CreateForm(Tform6,Form6);
и на закрытие стоит: Action:=caFree
Помогите разобраться!


 
PVOzerski   (2002-10-10 04:34) [1]

Пожалуйста, внятнее формулируйте вопрос. Что такое "обратиться к активной
дочерней"? Application.CreateForm(Tform6,Form6); - это создание окна формы, а не вызов,
обычно таким способом форма создается в .dpr-файле. Может, в Вашем случае уместнее
Form6:=tForm6.Create(Application);? А может, Вы ухитряетесь последовательно присваивать
одной и той же переменной Form6 несколько объектов, не уничтожая предшествующие? При закрытии
такого дочернего окна никто автоматически не присвоит переменной Form6 значение ближайшего
оставшегося окна - но на то есть метод родительского окна ActiveMDIChild. А можно завести и массив
array of tForm6 - никто не обязывает присваивать результат выполнения конструктора tForm6.Create
именно переменной с именем Form6.


 
GIL   (2002-10-10 04:56) [2]

Создаю форм именно так, как написал, а обращаюсь: Form6.RichEdit1. ..., таким образом создается несколько форм, массив заводить не хочется, кстати так, как я сделал описывается в нескольких примерах работы с MDI, и нельзя ли поподробнее про ActiveMDIChild, параметры, класс, родитель, если есть, я с ней еще не сталкивался, заранее спасибо!!


 
PVOzerski   (2002-10-10 05:36) [3]

Из хелпа D3:
TCustomForm.ActiveMDIChild
ActiveMDIChild is the MDI child that has focus.

property ActiveMDIChild: TForm;

Description

Use ActiveMDIChild to get the MDI child that has focus.
If the form is not an MDI parent (that is, if the FormStyle property of the form is not fsMDIForm), ActiveMDIChild returns nil.

Короче говоря, если, положим, MDI-окно (родитель) - это Form1, то
if assigned(Form1.ActiveMDIChild) and(Form1.ActiveMDIChild is tForm6) then
(Form1.ActiveMDIChild as tForm6).RichEdit1....


 
Rouse_   (2002-10-10 05:44) [4]


> таким образом создается несколько форм

Помоемому проще уж завести массив имени TForm6 ;))))
Серьезно

Желаю успехов


 
GIL   (2002-10-10 05:45) [5]

Бальшое спасибо, сегодня на работе попробую, надеюсь, что проблема исчезнет



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

Форум: "Основная";
Текущий архив: 2002.10.21;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.007 c
14-69016
Dmk
2002-09-27 01:18
2002.10.21
Странно ...


3-68641
Senator
2002-09-30 09:56
2002.10.21
работа с 2 серверами


1-68736
Zioma
2002-10-10 10:28
2002.10.21
MDI форма, как модальная...


1-68732
kofman
2002-10-10 23:53
2002.10.21
Как создать bitmap из иконки?


4-69054
@-leksey
2002-09-04 09:45
2002.10.21
Копирую TMetafile в буфер, а потом вставляю в CorelDraw. Проблема





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский