Вниз
Скачать: CL | DM;

Проблема наследия   Найти похожие ветки 

 
T{}r(l-l   (2003-02-20 15:13) [0]

Доброго времени суток, уважаемые!
Такая ситуация:
Есть форма Form1 и её наследник Form2.Есть юнит , в который я вынес все stored proc из Form1(для удобства - их много).И вот проблема: в процедуре я пишу Form1.Edit1 , т.е. явно указываю имя формы.Можно ли абстрагироваться от имени формы?Чтобы было что-нибудь в духе ObjectName.Edit1 , или придётся переносить вс е процедуры обратно в Form1?
Заранее благодарен.


 
Reindeer Moss Eater   (2003-02-20 15:21) [1]

Можно ли абстрагироваться от имени формы?
Не можно, а нужно!

Откуда уверенность, что экземпляр формы всегда один, и что только переменная Form1 содержит ссылку на него?

И вообще зависимость модулей друг от друга - это плохо.


 
T{}r(l-l   (2003-02-20 15:31) [2]

Так как конкретно абстрагироваться от имени?Может (Sender as TForm).Name или как-нибудь ещё?


 
Reindeer Moss Eater   (2003-02-20 16:12) [3]

Form1 в твоем случае - это переменная автоматически вставленная IDE в интерфейсную часть модуля.
Не обязательно использовать именно эту переменную. Не обязательно и её дефолтное имя (Form1)


 
T{}r(l-l   (2003-02-20 16:43) [4]

Form1 и Form2 я назвал их так, для примера.Нужно чтобы процедура просто смотрела от какой формы пришло сообщение и всё.


 
passm ©   (2003-02-20 16:45) [5]

T{}r(l-l (20.02.03 15:13)> Self.Edit1...


 
T{}r(l-l   (2003-02-20 16:47) [6]

Спасибо, завтра попробую....


 
pasha676   (2003-02-20 16:58) [7]

Что то или я не понял суть проблеммы или одно из двух...

Ведь если я в процедуре класса просто напишу Edit1, это автоматически означает обращение именно к Edit1 именно этого экземпляра. Че огород городить.


 
passm ©   (2003-02-20 17:03) [8]

pasha676 (20.02.03 16:58)> На самом деле очень удобно.
Еще недавно писал процедуру, где осуществлялась обработка классов с перебором предков... помогает.
К тому же, например, можно вызывать методы по схеме: DoSomeThing(Self)
...



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.01 c
1-5534
stur
2003-02-19 12:11
2003.03.03
Как текущую получить дату и время в Unix формате


3-5445
chadnov
2003-02-11 15:51
2003.03.03
Как выровнять столбцы в DBGrid е


1-5593
Sharik_212
2003-02-18 19:41
2003.03.03
Как прочитать абсолютный адрес памяти?


8-5664
Влад2
2002-11-19 14:45
2003.03.03
Вопрос по элементарной(?) графике


1-5609
revise
2003-02-19 10:52
2003.03.03
Работа с TMemo (запрет копирования)




   Наверх