Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.04.28;
Скачать: CL | DM;

Вниз

Есть такая директива?   Найти похожие ветки 

 
NAlexey ©   (2003-04-16 16:00) [0]

Проблема в следующем: был описан класс наследник от TPersistent и у него описан свой метод SetBounds куда в отличии от стандартного передавался готовый TRect а не координаты. Возникла необходимость сменить класс на TWinControl, исправив все видимые ошибки с этим связанные. Исправили. Щас возникла ситуация такая, автор когда писал код использовал локальные переменные совпадающие с названием некоторых методов у TControl как то например var BoundsRect: TRect; и дальше по тексту - BoundsRect := Rect(10,10,100,100); SetBounds(BoundsRect) и в этом месте в процедуру SetBounds передается BoundsRect контрола естественно пустой... Можно это решить с помощью директивы какой нибудь, если нет то как можно?


 
Внук ©   (2003-04-16 16:10) [1]

Что-то здесь нечисто.
Локальные переменные имеют приоритет видимости по сравнению с данными объекта-предка.


 
Anatoly Podgoretsky ©   (2003-04-16 16:12) [2]

Module.XXX


 
NAlexey ©   (2003-04-16 16:24) [3]

>Module.XXX
Хотелось бы с как можно меньшими затратам времени решить.
>Что-то здесь нечисто.
Локальные переменные имеют приоритет видимости по сравнению с данными объекта-предка.
Не знаю как объяснить.

TMyClass = class(TWinControl)
private
SetBounds(ARect: Trect);
end;

procedure TMyClass.Blah;
var
BoundsRect: TRect;
begin
BoundsRect := Rect(10, 10, 100, 100);
SetBounds(BoundsRect);
end;

Идет в TControl.GetBoundsRect потом TMyClass.SetBouns...


 
Внук ©   (2003-04-16 16:40) [4]

Вот именно здесь локальная переменная var BoundsRect должна перекрыть область видимости свойства BoundsRect предка и, как следствие, вызов метода GetBoundsRect.
Иначе - ухожу в монастырь


 
NAlexey ©   (2003-04-17 11:45) [5]

>Внук
Когда постриг?:)



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

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

Наверх




Память: 0.47 MB
Время: 0.024 c
1-91290
Ghost_
2003-04-17 13:59
2003.04.28
Округление вверх


3-91149
гончий
2003-04-09 09:48
2003.04.28
Как заморозить TDbGrid?


1-91277
Fighter
2003-04-17 12:03
2003.04.28
Как реализовать автоподстановку?


6-91439
freeek10
2003-03-04 11:44
2003.04.28
VCL в консольно приложении


14-91504
zDEUSz
2003-04-10 16:27
2003.04.28
Таймер?