Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2011.04.24;
Скачать: [xml.tar.bz2];

Вниз

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

 
Евгений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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.004 c
6-1236668556
К
2009-03-10 10:02
2011.04.24
EIdConnClosedGracefully Connection Closed Gracefully


15-1294771007
LDV
2011-01-11 21:36
2011.04.24
sql-запрос


15-1294985178
Медвежонок ХМЛ
2011-01-14 09:06
2011.04.24
УЭК


2-1295504959
Novi4ok1992
2011-01-20 09:29
2011.04.24
Выбор языка интерфейса в программе


1-1252963791
Ruzzz
2009-09-15 01:29
2011.04.24
Результат в регистр AX, как работает компилятор?





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