Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

как обеспечить доступ к данным между родительскими формами [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]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо