Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Корректно ли такое приведение типов?


Страницы:   1 2

kull ©   (2002-06-20 00:27:00) 

Привет народ!
Наткнулся на следующую проблемму:

В мою процедуру передается некий контрол,о котором я знаю только что он - TWinControl. И мне надо присвоить protected свойству нужное значение. Но так как свойство protected на прямую к нему не доступиться. Так вот: корректно ли следующее приведение типов?


type
TMyWinControl = class(TWinControl)
end;

procedure TForm1.MyClick(Sender: TObject);
begin
Beep;
end;

procedure TForm1.SetHandlers(AWinControl: TWinControl);
begin
//можно ли так доступаться к protected свойству?
TMyWinControl(AWinControl).OnClick := MyClick;
end;


Проект компиляется и работает, но правильно ли так делать и не грозит ли это глюками в дальнейшем?


Cobalt   (2002-06-20 01:28:00) [21]

>В мою процедуру передается некий контрол,о котором я знаю только что он - TWinControl.
В свете вышесказанного - приведение типов абсолютно некорректно, делать так - неправильно, грозит глюками и Access Violation.

Если вы планируете передавать в процедуру контролы различных типов, то проверяйте, являются ли они теми контролами, которые вы знаете (напр. стандартные, типа TEdit, TButton и др.).
З.Ы. OnClick - Это же не protected свойство (впрочем, неважно)


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо