Текущий архив: 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.45 MB
Время: 0.01 c