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

Вниз

Сокрытие свойства   Найти похожие ветки 

 
Новенький   (2005-12-14 12:40) [0]

Здраствуйте.
Как скрыть Published свойство в классе наследнике.


 
Новенький   (2005-12-14 12:49) [1]

И еще вопросик, сделал свой конструктор у компонента компилятор выбрасывает Warning :Method "Create" hides virtual method of base type "TCustomControl"

Как избавиться от предупреждения?


 
jack128 ©   (2005-12-14 13:14) [2]

Новенький   (14.12.05 12:40)
Как скрыть Published свойство в классе наследнике.

Скрыть от программиста - никак.  А чтобы скрыть это свойство в инспекторе объектов нужно зарегистрировать на него nil"sq радактор

RegisterPropertyEditor(nil, TMyControl, "Left", nil);

Новенький   (14.12.05 12:49) [1]
Как избавиться от предупреждения?

type
 TSomeComponent = class(TComponent)
 public
   constructor Create(AOwner: TComponent); override;
 end;


 
Новенький   (2005-12-14 14:06) [3]

По первому вопроссу большое спасибо, а по второму у меня такая ситуация

constructor Create(AOwner: TMyComponent); overload;

Хочу объявить свой конструктор таким образом


 
Новенький   (2005-12-14 14:24) [4]

После добавления

procedure Register;
begin
 RegisterPropertyEditor(nil, TMyComponent, "Left", nil);
 RegisterComponents("Samples", [TMyComponent]);
end;

Появляется AV at 00341180 :(


 
DimaBR   (2005-12-14 16:02) [5]

RegisterPropertyEditor(TypeInfo(integer), TMyComponent, "Left", nil);


 
Новенький   (2005-12-14 19:28) [6]

Сеньк


 
Sash*   (2005-12-15 12:28) [7]


> Здраствуйте.
> Как скрыть Published свойство в классе наследнике.

Если наследуетесь от VCL компонент - выбирайте наследника с префиксом CUSTOM - в нем нет published - потом открывайте только то что хотите


 
Новенький   (2005-12-15 19:52) [8]

Спасибо всем, только никто не ответил на 2 вопрос
если я перегружаю конструктор, то есть создаю свой конструктор

constructor Create(AOwner: TMyComponent); overload;
компилятор ругается: Новенький   (14.12.05 12:49) [1]


 
Юрий Зотов ©   (2005-12-15 20:20) [9]

> Новенький   (15.12.05 19:52) [8]

Посмотрите reintroduce.


 
ЮЮ ©   (2005-12-16 08:48) [10]

Если твой класс является компонентом, то и играть следует по правилам TComponent, конструктор которого сделан виртуальным неспроста и вовсе не для того чтобы его скрывать.
Если тебе так уж важно, чтобы его owner-ом был именно TMyComponent проверь, является ли объект, переданный в качестае параметра конструктора TMyComponent или его наследником и если нет, то вызови исключение.


 
Новенький   (2005-12-16 11:54) [11]

Благодарю, очень полезные замечания, вопроссов больше нет.



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

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

Наверх




Память: 0.49 MB
Время: 0.04 c
1-1148474037
Layner
2006-05-24 16:33
2006.07.02
public mymass: array of integer - не виден в другом модуле :(


3-1146090974
Германн
2006-04-27 02:36
2006.07.02
TIBQuery+TIBUpdateSQL


1-1148133872
***(H@kker)***
2006-05-20 18:04
2006.07.02
Скорость работы


3-1146720696
alsov
2006-05-04 09:31
2006.07.02
Структура мультиязычной базы


2-1149931923
13
2006-06-10 13:32
2006.07.02
активный закладка