Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.03.18;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.034 c
5-1149955795
Alextp
2006-06-10 20:09
2007.03.18
Мерцание при обработке Resize


3-1166640163
The X
2006-12-20 21:42
2007.03.18
"Table is busy" при попытке добавить новое поле через запрос.


15-1171725305
cawwa
2007-02-17 18:15
2007.03.18
delphi +qword (u64)


1-1169717444
Альф
2007-01-25 12:30
2007.03.18
Обработка исключений в TThread


2-1172087049
vasIZmax
2007-02-21 22:44
2007.03.18
Ввязался...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский