![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
MDI Childs [D5, Win2k]
Maxximusss © (2004-08-12 16:03:00)У меня 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.
nikkie (2004-08-16 14:21:00) [1]>А MyType определен в головном модуле потому что это единый тип, с которым работают почти все модули...
надо сделать отдельный юнит и проблем не будет.
Maxximusss (2004-08-16 12:16:00) [2]Main ссылается потому что в нем есть процедурка создания окна,
CreateMidiChild, и она возвращает переменную типа MDIChild. ТОка сейчас нашел что есть массив MDIChildren, и возвращать ничего не надо.
А MyType определен в головном модуле потому что это единый тип, с которым работают почти все модули...
А вообще, есть где-нибудь справочне пособие по MDI? А то блин тяжело писать, не понимая толком что делается и какие есть инструменты.
nikkie (2004-08-13 18:13:00) [3]>MyType определен в основном модуле
зачем?
nikkie (2004-08-13 18:12:00) [4]>Main тоже ссылается на ChildWin.
в interface section? зачем?
Maxximusss (2004-08-12 16:41:00) [5]Был у нас один препод, задал решить одну задачку в Maple V, на все вопросы отвечал одинаково: "читайте хелп". Задачу никто так и не решил :))
Ладно, ща попробую покопаться в хелпе... Спасибо за ответы.
Sandman25 (2004-08-12 16:35:00) [6]О параметрах методов уже читали? :)
Maxximusss (2004-08-12 16:33:00) [7]А если надо много однотипных окон создать, но с разным содержимым?
У меня графики сторятся, одним способом, но в каждом окне из разного массива.
Sandman25 (2004-08-12 16:18:00) [8]>Че делать, не знаю :)
Завести еще один unit.
Sandman25 (2004-08-12 16:17:00) [9]>Так вот, num будет создана одна или две?
Модуль один? Значит, и переменная одна.
Maxximusss (2004-08-12 16:16:00) [10]В смысле добавить его сюда?
type
TMDIChild = class(TForm)
...
private
СЮДА
public
ИЛИ СЮДА
end;
есть проблема: на самом деле num:MyType, а MyType определен в основном модуле. Если я поставлю в Uses Main, то будет циклическая ссылка на модули, т.к. Main тоже ссылается на ChildWin. Че делать, не знаю :)
Sandman25 (2004-08-12 16:06:00) [11]Сделайте Num членом класса