Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.012 c
1-91370
anbezr
2003-04-16 09:26
2003.04.28
Узнать, что фокус ввода ушел с панели


4-91582
Sfagnum
2003-02-27 17:01
2003.04.28
Ширина текста


7-91569
Soft
2003-03-11 02:26
2003.04.28
Как получить сообщение о том, что Com порт выдал данный


14-91454
panov
2003-04-10 19:27
2003.04.28
ВАУ! А я работу в Питере нашел!


6-91429
ole
2003-03-04 05:06
2003.04.28
Проблема: Поток обрабатывающий одно подключение в TServerSocket




   Наверх