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

Вниз

новый класс на базе чекбокса   Найти похожие ветки 

 
malamba   (2002-07-16 09:28) [0]

Братья по разуму, помогите разобраться!

Создал новый класс на основе CheckBox-a (отличие - в нескольких доп. полях, в которых сохраняю свои данные). Экземпляры класса создаются в run-time. Даю им родителя, размеры, положение и свои данные.
В debug-time для проверки кладу на форму новый компонент и вижу все его новые свойства в Инспекторе объектов.
В run-time ничего не создается. Точнее создается, но поскольку владелец - TComponent, ничего не прорисовывается.
Пробовал указывать владельцем TWinControl - такое впечатление, что в новом классе только мои свойства, а от родительского ничего не передалось. Имя - от формы, на мои имена не реагирует.

Для наглядности - кусочки кода:


type
TCheckBoxGost = class(TCheckBox)
private
FKolStranic: Integer;

protected
procedure SetKolStranic(const Value: Integer);

published
constructor Create(AOwner: TWinControl);
destructor Destroy(AOwner: TWinControl);
property KolStranic: Integer read FKolStranic write SetKolStranic;

****************************************************************
constructor TCheckBoxGost.Create(AOwner: TWinControl);
begin
inherited Create(AOwner) ;
end;


****************************************************************
А вызываю я его так:

MyCheckBoxGost:= TCheckBoxGost.Create(Self);

Где-то явная лажа, но где - не хватает опыта понять...


 
Kaban   (2002-07-16 09:33) [1]

MyCheckBoxGost:= TCheckBoxGost.Create(Self);
MyCheckBoxGost.Parent:=Self;


 
olookin   (2002-07-16 09:36) [2]

Нужно поставить строку:

MyCheckBoxGost.Parent:=Form1 (или self);

После этого у меня все появилось.


 
Eugene Lachinov   (2002-07-16 09:41) [3]

published
constructor Create(AOwner: TWinControl);
destructor Destroy(AOwner: TWinControl);

Это как-то неправильно, хотя в данной реализации несущественно, обычно
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;


 
malamba   (2002-07-16 17:28) [4]

Eugene Lachinov-у
знаю, что нужно override;, но у меня эта зараза сообщает, что неопознаваемое слово. Возможно что-то где-то не упомянулось. НО работает и без этого, тем более, что на стандартные методы CheckBoxa я не покушался.

Всем спасибо!
Главная бяка была вот в чем:
была строка
.Parent:=(фрейм, в котором создавались чекбоксы);
Вместо имени фрейма у меня стояла переменная, в которой хранилось это самое имя.
Когда ввел имя напрямую, все мои родненькие повылазили.



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

Форум: "Основная";
Текущий архив: 2002.07.29;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.006 c
14-95558
Lay
2002-07-04 05:56
2002.07.29
Русский DBNavigator


1-95425
Makuha
2002-07-13 12:57
2002.07.29
TreeView - Help


14-95520
adogg
2002-07-02 20:38
2002.07.29
Проблема с установкой компонент


1-95432
Гас
2002-07-16 10:01
2002.07.29
Работа с DLL. Метод Assign не хочет выполняться.. :(


8-95451
I/O
2002-03-20 17:52
2002.07.29
MP3





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский