Главная страница
    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.47 MB
Время: 0.004 c
2-1295333857
voha
2011-01-18 09:57
2011.04.24
Handle ActiveX объекта


15-1294596688
@!!ex
2011-01-09 21:11
2011.04.24
PropSheet не работает под Win 7 x64


15-1294911645
stenfit
2011-01-13 12:40
2011.04.24
работа с zip


15-1294495883
12
2011-01-08 17:11
2011.04.24
Программа, аля система контроля инцидентов


2-1295442572
12
2011-01-19 16:09
2011.04.24
Почему нет хинта что Result может быть неопределен?





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