Главная страница
    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.036 c
14-1092289956
Кириешки
2004-08-12 09:52
2004.08.29
Чем отличается CloseProcess от Terminate Process?


6-1087148493
Alexey
2004-06-13 21:41
2004.08.29
проблемы с RAS


8-1086849701
X-Disa
2004-06-10 10:41
2004.08.29
TImage c масштабированием


4-1089830351
Sliski Slimak
2004-07-14 22:39
2004.08.29
Модальная форма в DLL


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