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

Вниз

property BtnType: TIDBtnType;   Найти похожие ветки 

 
Вася Рогов   (2007-02-28 14:03) [0]

Пытаюсь сгоношить компонентик. Пишу так:


 type TTBType=(stbClose, stbMaximize, stbRestore, stbMinimize, stbNone);

 TTopButton=class(TSelButton)
 private
   function BBtnType: TTBType;
   procedure SetBtnType(const Value: TTBType);
 published
   property BtnType: TTBType read BBtnType write SetBtnType default stbNone;
 end;


При попытке запуска прога вешает комп, IDE и себя, спасаешься только перезагрузкой.

Как можно правильно оформить property для компонента чтобы его можно было видеть в структуре свойств в Object Inspector и ничего не глючило?

Заранее спасибо.


 
Аноним   (2007-02-28 14:09) [1]

в приведенном куске кода глюков нет (кроме несоблюдения стандартов имен)
следовательно, глюк где-то в другом месте.

> Как можно правильно оформить property для компонента чтобы
> его можно было видеть в структуре свойств в Object Inspector


Ну приблизительно так и оформить, как оформлено


 
Вася Рогов   (2007-02-28 14:11) [2]

Вот полный код. Что и куда надо добавить?


TTopButton=class(TSelButton)
 private
   function BBtnType: TTBType;
   procedure SetBtnType(const Value: TTBType);
 published
   property BtnType: TTBType read BBtnType write SetBtnType default stbNone;
 end;

var
 Form1: TForm1;
 tbClose: TTopButton;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
 tbClose := TTopButton.Create(self);
 tbClose.BtnType := stbClose;
 tbClose.Width := 17;
 tbClose.Height := 17;
 tbClose.Left := Width - 10 - tbClose.Width;
 tbclose.Top := 2;
 tbClose.parent := self;
end;

{ TTopButton }

function TTopButton.BBtnType: TTBType;
begin
 Result := BtnType;
end;

procedure TTopButton.SetBtnType(const Value: TTBType);
begin

//tnType := Value;

  case BtnType of
    stbClose: Caption := "X";

  end;
  Self.Paint;

end;


 
MBo ©   (2007-02-28 14:42) [3]

Self.Paint;
Зачем?


 
Юрий Зотов ©   (2007-02-28 16:25) [4]


property BtnType: TTBType read BBtnType ...

function TTopButton.BBtnType: TTBType;
begin
 Result := BtnType;
end;

И здравствуй, бесконечная рекурсия...


 
Аноним   (2007-02-28 16:47) [5]

Во ! :-)
А мораль какая - надо соблюдать стандарты имен:-)



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

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

Наверх




Память: 0.47 MB
Время: 0.053 c
15-1172267382
ArtemESC
2007-02-24 00:49
2007.03.18
Программа для тесттирования правил дорожного движения...


9-1144574516
ArtemESC
2006-04-09 13:21
2007.03.18
Открытые форматы моделей 3D...


2-1172314035
Alex7
2007-02-24 13:47
2007.03.18
TDBLookupComboBox


3-1166333938
Новичек
2006-12-17 08:38
2007.03.18
Получение уведомлений от SQL-сервера об изменениях.


2-1172066624
Kolan
2007-02-21 17:03
2007.03.18
А AV в модуле rtl100.bpl что значит ?