Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.12.2011, 18:28   #1
delphicoding
Заблокирован
 
Регистрация: 04.07.2011
Сообщений: 261
Вопрос Как указать в динамическом окне линк на объект другого динамич окна??

Здравствуйте! Подскажите, пожалуйста: есть некие формы-окна Form1 и Form2, в программе по коду создаётся Form1 неограниченное кол-во раз, внутри Form1 есть Dataset. В некоторых случаях при создании Form1 из Form1 создаётся ещё окно на базе Form2. Вопрос - как из окна Form2 указать связь с Dataset ТОЧНО В РОДИТЕЛЬСКОМ окне Form1???
delphicoding вне форума Ответить с цитированием
Старый 22.12.2011, 20:26   #2
3D Hunter
Сумрачная тень
Форумчанин
 
Аватар для 3D Hunter
 
Регистрация: 05.03.2009
Сообщений: 689
По умолчанию

Переопределите конструктор у TMyForm с параметром FOwner:TForm. А вызывайте так:
Код:
  Form2:=TMyForm.Create(Form1);
В Form2 обращайтесь к DataSet'у как FOwner.DataSet1.
"ковыряю изнутри" (с)
3D Hunter вне форума Ответить с цитированием
Старый 22.12.2011, 20:43   #3
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,899
По умолчанию

Полагаю, надо будет обращаться вот так (owner as Tform1).dataset1 если сделать как рекомендует 3D Hunter, а вот если будет FOwner:TForm1, то можно просто Owner.DataSet1
phomm вне форума Ответить с цитированием
Старый 22.12.2011, 21:18   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Можно и не переопределять конструктор, а просто сделать в Form2 свойство или public-переменную типа TForm1 и после создания окна присвоить Form1 или Self
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 25.12.2011, 14:51   #5
3D Hunter
Сумрачная тень
Форумчанин
 
Аватар для 3D Hunter
 
Регистрация: 05.03.2009
Сообщений: 689
По умолчанию

Аватар, так тоже можно, но мы же проповедуем ООП параметром передавать красивие, ИМХО.
"ковыряю изнутри" (с)

Последний раз редактировалось 3D Hunter; 25.12.2011 в 14:53.
3D Hunter вне форума Ответить с цитированием
Старый 25.12.2011, 17:32   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
мы же проповедуем ООП
Значит сделав свойство мы в ООП не вписываемся и все становится не красиво
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как создать эскиз UserControl во всплывающем окне? Сделать всплывающие окна, как в Windows 7 AnutkaSolnce Windows Forms 1 09.06.2011 07:30
Объект одного класса в конструкторе другого Benderbej PHP 5 13.02.2011 22:48
Drag n Drop объект в чужом окне ShiSha_34 Win Api 8 09.11.2010 02:19
Как имея handle окна узнать handle edit-a который находится в етом окне SeRhy Общие вопросы Delphi 1 20.07.2008 13:48
Как при скрытом чужом окне сделать его дочерние окна(сообщения) видимыми ? Starwarrior Win Api 1 20.03.2007 09:51