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

Вниз

MDI Childs   Найти похожие ветки 

 
Maxximusss   (2004-08-12 16:03) [0]

У меня MDI application.
Есть модуль Childwin - шаблон создаваемого окна.
в модуле прописана некоторая переменная, пусть num:integer.
В основном модуле есть процедурка:

procedure TMainForm.CreateMDIChild(const Name: string; var Child: TMDIChild);
begin
 { create a new MDI child window }
 Child := TMDIChild.Create(Application);
 Child.Caption := Name;
end;

она по идее должна возвращать объект Child.
Если я два раза вызову процедуру:
CreateMDIChild("1",Child1);
CreateMDIChild("2",Child2);
то будут созданы два окна. Так вот, num будет создана одна или две?
Мне очень нужно, чтобы при каждом вызове createMDIChild создавались независимые окна, с независимыми переменными num.


 
Sandman25 ©   (2004-08-12 16:06) [1]

Сделайте Num членом класса


 
Maxximusss   (2004-08-12 16:16) [2]

В смысле добавить его сюда?

type
 TMDIChild = class(TForm)
...
 private
   СЮДА
 public
   ИЛИ СЮДА
 end;

есть проблема: на самом деле num:MyType, а MyType определен в основном модуле. Если я поставлю в Uses Main, то будет циклическая ссылка на модули, т.к. Main тоже ссылается на ChildWin. Че делать, не знаю :)


 
Sandman25 ©   (2004-08-12 16:17) [3]

>Так вот, num будет создана одна или две?

Модуль один? Значит, и переменная одна.


 
Sandman25 ©   (2004-08-12 16:18) [4]

>Че делать, не знаю :)

Завести еще один unit.


 
Maxximusss   (2004-08-12 16:33) [5]

А если надо много однотипных окон создать, но с разным содержимым?
У меня графики сторятся, одним способом, но в каждом окне из разного массива.


 
Sandman25 ©   (2004-08-12 16:35) [6]

О параметрах методов уже читали? :)


 
Maxximusss   (2004-08-12 16:41) [7]

Был у нас один препод, задал решить одну задачку в Maple V, на все вопросы отвечал одинаково: "читайте хелп". Задачу никто так и не решил :))
Ладно, ща попробую покопаться в хелпе... Спасибо за ответы.


 
nikkie ©   (2004-08-13 18:12) [8]

>Main тоже ссылается на ChildWin.
в interface section? зачем?


 
nikkie ©   (2004-08-13 18:13) [9]

>MyType определен в основном модуле
зачем?


 
Maxximusss   (2004-08-16 12:16) [10]

Main ссылается потому что в нем есть процедурка создания окна,
CreateMidiChild, и она возвращает переменную типа MDIChild. ТОка сейчас нашел что есть массив MDIChildren, и возвращать ничего не надо.
А MyType определен в головном модуле потому что это единый тип, с которым работают почти все модули...

А вообще, есть где-нибудь справочне пособие по MDI? А то блин тяжело писать, не понимая толком что делается и какие есть инструменты.


 
nikkie ©   (2004-08-16 14:21) [11]

>А MyType определен в головном модуле потому что это единый тип, с которым работают почти все модули...
надо сделать отдельный юнит и проблем не будет.



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

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

Наверх




Память: 0.46 MB
Время: 0.045 c
10-1033633458
Comwad
2002-10-03 12:24
2004.08.29
Опять про злосчастный "Assertion faild: _reply_message!=(..."


1-1092665101
Zhilkin
2004-08-16 18:05
2004.08.29
Шаблоны текста


14-1092303585
SiJack
2004-08-12 13:39
2004.08.29
Незаметили что доллар как то расти начал?


1-1092293939
Anton777
2004-08-12 10:58
2004.08.29
Точки


14-1092235728
Ivolg
2004-08-11 18:48
2004.08.29
Окно





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский