Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.03.03;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.56 MB
Время: 0.039 c
3-5471
BubbleGum
2003-02-10 22:22
2003.03.03
Суммирование стоблцов таблиц SQL-запросом


3-5380
AGAMEMNUM
2003-02-12 08:14
2003.03.03
Русские буквы в IB


9-5376
Dark[UA]
2002-09-29 15:48
2003.03.03
GLScene


1-5618
Альф
2003-02-20 09:38
2003.03.03
Почему не удается послать сообщение LB_SETTABSTOPS ???


6-5707
dlK
2003-01-09 09:14
2003.03.03
Убить процесс на удаленной машине.





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