Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.03.03;
Скачать: 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 вся ветка

Текущий архив: 2003.03.03;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.029 c
14-5710
alex_bredin
2003-02-12 10:41
2003.03.03
InstallShield Express for Delphi 6


3-5449
Serghei
2003-02-13 14:49
2003.03.03
Живая база AutoRefresh


1-5545
OneOfTheFew
2003-02-19 13:38
2003.03.03
Меню программы.Как прочитать из *.exe ?


1-5548
Кузнецова А.
2003-02-21 10:41
2003.03.03
QuickReport


8-5657
Yelchev
2002-11-18 12:20
2003.03.03
Как получить спектр звука напрямую со звуковой платы