![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
как обеспечить доступ к данным между родительскими формами [D6, XP]
Евгений07 © (2011-01-19 11:49:00)Доброго времени!
Дано: несколько программ из нескольких форм со схожими логикой и интерфейсом.
Выделил обобщенные части в отдельные формы, интерфейс программ в дочерних формах.
Проблема: общие родительские формы внутри связаны данными.
Пример
unit Unit10; // родитель 1
TForm10 = class(TForm)
Public
М10, М11: данные;
var
Form10: TForm10;
Implementation
Использую данные М20, М21 из Unit20 так: Form21. М10, Form21. М11 (через дочку)
unit Unit20; // родитель 2
TForm20 = class(TForm)
Public
М20, М21: данные;
var
Form20: TForm20;
Implementation
Использую данные М10, М11 из Unit10 так: Form11. М10, Form11. М11(через дочку)
unit Unit11; // интерфейс 1
TForm11 = class(TForm10)
var
Form11: TForm11;
unit Unit21; // интерфейс 2
TForm21 = class(TForm20)
var
Form21: TForm21;
Как разделить общие формы unit Unit10 и unit Unit20?:
1. Добавить М10, М11, М20, М21 к глобальным переменным (много массивов ~10кб)
2. Для разных прог сделать модули с одинаковыми именами форм Form11, Form21
3. Есть какой-то хитрый способ доступ к родителю, например, из Unit20 так: Form20. М10, Form20. М11 (через родителя)
Евгений07 (2011-01-19 17:02:00) [1]
> Нам Вас не понять.
Хотелось бы локализовать данные
Jeer (2011-01-19 16:46:00) [2]
> (много массивов ~10кб)
Нам Вас не понять.
Евгений07 (2011-01-19 16:26:00) [3]
> Модуль данных
= 1. Добавить М10, М11, М20, М21 к глобальным переменным (много массивов ~10кб)
MsGuns (2011-01-19 16:11:00) [4]Модуль данных
Jeer (2011-01-19 12:59:00) [5]Загнать себя в угол, если захотеть, можно всегда (С)
Евгений07 (2011-01-19 12:56:00) [6]
> Сделать еще один уровень наследования форм.
Разделению это не поможет
> Ну и вообще-то никто не мешает развести данные и формы
Это муторно, и проблемы не снимает = данные тоже наследуются
Jeer (2011-01-19 12:13:00) [7]P.S.
Ну и вообще-то никто не мешает развести данные и формы.
Jeer (2011-01-19 12:11:00) [8]Сделать еще один уровень наследования форм.
В моей практике встречаются случаи до семи уровней, больше вроде не делал.