C++Builder
  Начало   Форум   Помощь Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: Parent при создании компонента  (Прочитано 1769 раз)
Sergey1985
Участник


Сказали спасибо: +8/-1
Offline

Сообщений: 310


Parent при создании компонента
« : 06 Август 2013, 14:46:41 »

Здравствуйте господа пограммеры. Помогите плиз разораться в след деле. Создаю компонент (см. ниже) но компилятор ругается на
строчку
//l_name->Parent=this;   В чем дело?
Код
//---------------------------------------------------------------------------
 
#include
 
#pragma hdrstop
 
#include "ResARINCLabel.h"
#pragma package(smart_init)
//---------------------------------------------------------------------------
// ValidCtrCheck is used to assure that the components created do not have
// any pure virtual functions.
//
 
static inline void ValidCtrCheck(TResARINCLabel *)
{
       new TResARINCLabel(NULL);
}
//---------------------------------------------------------------------------
__fastcall TResARINCLabel::TResARINCLabel(TComponent* Owner)
       : TControl(Owner)
{
   l_name = new TLabel(this);
   //l_name->Parent=this;  // на эту строчку идет ругань
   l_name->WordWrap = true;
   l_name->Font->Size = 8;
   l_name->Font->Color = clMaroon;
   l_name->Caption = "название переменной";
}
//---------------------------------------------------------------------------
namespace Resarinclabel
{
       void __fastcall PACKAGE Register()
       {
                TComponentClass classes[1] = {__classid(TResARINCLabel)};
                RegisterComponents("ARINC", classes, 0);
       }
}
//---------------------------------------------------------------------------
#define ResARINCLabelH
//---------------------------------------------------------------------------
#include
#include
#include
//---------------------------------------------------------------------------
class PACKAGE TResARINCLabel : public TControl
{
private:
TLabel *l_name;
TLabel *l_number;
TLabel *l_dimension;
protected:
public:
       __fastcall TResARINCLabel(TComponent* Owner);
__published:
};
//---------------------------------------------------------------------------
#endif
« Последнее редактирование: 06 Август 2013, 16:24:17 от volvo877 » Записан
volvo877
Глобальный модератор


Сказали спасибо: +736/-1
Offline

Сообщений: 891


Re: Parent при создании компонента
« Ответ #1 : 06 Август 2013, 16:26:56 »

Parent-ом может быть только потомок TWinControl, а this у тебя в данном случае - потомок TControl...
Записан
Sergey1985
Участник


Сказали спасибо: +8/-1
Offline

Сообщений: 310


Re: Parent при создании компонента
« Ответ #2 : 07 Август 2013, 08:23:17 »

Странно почему так. Я читал что TWinControl нужен тогда когда нам необходимо иметь дескриптор компонента с целью я так понял возможности ввода информации а у меня то только вывод.
Записан
POV
Участник


Сказали спасибо: +107/-7
Offline

Сообщений: 640


Re: Parent при создании компонента
« Ответ #3 : 07 Август 2013, 09:02:32 »

Родитель же должен быть контейнером. TControl не катит - от него далее наследуется TGraphicControl, являющийся базой, к примеру, Tlabel. А уж последний точно не может быть никому родителем:
Записан
Sergey1985
Участник


Сказали спасибо: +8/-1
Offline

Сообщений: 310


Re: Parent при создании компонента
« Ответ #4 : 08 Август 2013, 08:04:56 »

То есть в своих целях я могу использовать и TGraphicControl? Он уже является контейнером?
Записан
POV
Участник


Сказали спасибо: +107/-7
Offline

Сообщений: 640


Re: Parent при создании компонента
« Ответ #5 : 08 Август 2013, 08:28:51 »

Нет, ГрафикКонтрол контейнером не будет, только ВинКонтрол и его наследники... я Обычно TCustomControl использую.
Записан
Sergey1985
Участник


Сказали спасибо: +8/-1
Offline

Сообщений: 310


Re: Parent при создании компонента
« Ответ #6 : 13 Август 2013, 10:34:40 »

ВСем огромное спасибо))) за помощь
Записан
S0mbre
Глобальный модератор


Сказали спасибо: +1113/-22
Offline

Сообщений: 2132

S0mbre


« Ответ #7 : 13 Август 2013, 13:47:24 »

Цитата: Sergey1985 от 06 Август 2013, 14:46:41
Помогите плиз разораться в след деле.

Разорался, значит
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  




....

Powered by SMF 1.1.21 | SMF © 2025, Simple Machines
Страница сгенерирована за 0.074 секунд. Запросов: 19.