Вниз
Скачать: CL | DM;

Установка свойств компонента по умолчанию   Найти похожие ветки 

 
Konstantionov ©   (2003-04-30 01:46) [0]

Создаю компонент, к примеру потомок TLabel.
Пытаюсь изменить шрифт, используемый по умолчанию и добавить несколько
своих свойств, но больше не до чего не додумался, кроме как написать:


public
constructor Create(AOwner: TComponent); override;

...

constructor TMyCustomLabel.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
ControlStyle := ControlStyle + [csOpaque, csReplicatable];
Width := 65;
Height := 17;
FMyProperty := 50;
Font.Name := "Arial Black";
end;

почему не работает default в объявлении свойства MyProperty?


type
TMyLabel = class(TLabel)
private
FMyProperty:integer;
procedure SetMyProperty(Value:integer);
published
property MyProperty:integer read FMyProperty write SetMyProperty default 50;
end;

можно ли применить default к свойству Font.Name?

нутром чувствую - написал лажу!

Нужен ли деструктор?
Что будет, если указанного шрифта не окажется в системе? (Мне нужен любой True Type)

извините за ламерство и сумбурное изложение.


 
default ©   (2003-04-30 01:55) [1]

прописывай умалчиваемые значения в конструкторе
директива "default" означает нечто другое - см. Дельфёвый хелп
(это означает что при совпадении св-ва со значением после default-а оно не будет сохранено в .dfm)


 
Навичек   (2003-04-30 03:47) [2]

default сообщает коду поточной обработки что значние этого свойства настраивается кодом инициализации компонента (т.е. в create)

деструктор то тебу зачем
есть простое правило если ты сам создаешь объект то должен сам его и уничтожить.... используй free или freeandnil(освобождает память + устанавливает все ссылки на объект в nil)...... а деструктор нужен если ты при жизненном цикле компонента используешь какойнить ресурс.... тогда его стоит использовать.... при использовании метода free вызывается деструктор так что зачем те его делать



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

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



Память: 0.45 MB
Время: 0.009 c
1-34453
Delphiman
2003-04-27 19:11
2003.05.12
Как определить время ?


1-34458
NewN
2003-04-29 09:00
2003.05.12
Передача string в DLL.


1-34464
alt7
2003-04-29 13:08
2003.05.12
Консольное приложение и TNotifyEvent


14-34548
Aristarh
2003-04-23 00:04
2003.05.12
Кто читал


7-34630
AlexRush
2003-03-10 17:09
2003.05.12
Сетевой адаптер - отправка данных в сеть




   Наверх