Главная страница
    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
15-1294912978
Андрей123
2011-01-13 13:02
2011.04.24
Подключение IP-камеры к телевизору


2-1295276909
Студент
2011-01-17 18:08
2011.04.24
Ищу примеры работы с интерфейсами на Паскале/Делфи


2-1295535215
volkafff
2011-01-20 17:53
2011.04.24
Курсор над компонентом и форма компонента Image.


2-1295517155
Alex_C
2011-01-20 12:52
2011.04.24
Как в метафаил скопировать битмап?


15-1294754988
12
2011-01-11 17:09
2011.04.24
На панели задач хочу название кнопки Delphi7 + Имя_проекта.





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