Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.04.24;
Скачать: CL | DM;

Вниз

как обеспечить доступ к данным между родительскими формами   Найти похожие ветки 

 
Евгений07   (2011-01-19 11:49) [0]

Доброго времени!
Дано: несколько программ из нескольких форм со схожими логикой и интерфейсом.
Выделил обобщенные части в отдельные формы, интерфейс программ в дочерних формах.
Проблема: общие родительские формы внутри связаны данными.
Пример
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 (через родителя)


 
Jeer ©   (2011-01-19 12:11) [1]

Сделать еще один уровень наследования форм.
В моей практике встречаются случаи до семи уровней, больше вроде не делал.


 
Jeer ©   (2011-01-19 12:13) [2]

P.S.
Ну и вообще-то никто не мешает развести данные и формы.


 
Евгений07   (2011-01-19 12:56) [3]


> Сделать еще один уровень наследования  форм.

Разделению это не поможет

> Ну и вообще-то никто не мешает развести данные и формы

Это муторно, и проблемы не снимает = данные тоже наследуются


 
Jeer ©   (2011-01-19 12:59) [4]

Загнать себя в угол, если захотеть, можно всегда (С)


 
MsGuns ©   (2011-01-19 16:11) [5]

Модуль данных


 
Евгений07   (2011-01-19 16:26) [6]


> Модуль данных

= 1. Добавить М10, М11, М20, М21 к глобальным переменным (много массивов ~10кб)


 
Jeer ©   (2011-01-19 16:46) [7]


> (много массивов ~10кб)


Нам Вас не понять.


 
Евгений07   (2011-01-19 17:02) [8]


> Нам Вас не понять.

Хотелось бы локализовать данные



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

Текущий архив: 2011.04.24;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.009 c
15-1294182094
NailMan
2011-01-05 02:01
2011.04.24
Летающие тряпочки начинают уверенно летать у меня


2-1295347887
Mops
2011-01-18 13:51
2011.04.24
Использование интерфейсов


15-1292834915
12
2010-12-20 11:48
2011.04.24
Как существует Антиматерия or Где хранить всепрожигающую киcлоту?


3-1257170221
mom
2009-11-02 16:57
2011.04.24
Ehlib 4.0 порядок следования столбцов


15-1294954192
Юрий
2011-01-14 00:29
2011.04.24
С днем рождения ! 14 января 2011 пятница