Fórum Erro ao criar um componente #321661
18/05/2006
0
Ola Galera,
Estou tentando criar um novo componente baseado no TDBRadioButton. No create do componente peço para ser criado 2 radiobuttons. Compilo e instalo o componente certinho. Quando vou colocar o componente no form ele da o seguinte erro: [b:50bf7987b2]Control ´´ has no parent window[/b:50bf7987b2] .
Ja percebi que o erro esta relacionado a esta linha [b:50bf7987b2]Items.Add(´CGC´)[/b:50bf7987b2].
ja tentei usar .Parent:=self e não deu certo, já não sei mais o que fazer. Caso alguem puder me ajudar agradeço.
Abaixo segue fonte:
unit DBRGCpfCGC;
interface
uses
SysUtils, Classes, Controls, StdCtrls, ExtCtrls, DBCtrls,Messages,Dialogs,DB;
type
TDBRGCpfCGC = class(TPanel)
EdtCGCCPF : TDBEdit;
EdtRGIE : TDBEdit;
DBRGPessoa : TDBRadioGroup;
private
{ Private declarations }
protected
{ Protected declarations }
public
{ Public declarations }
constructor Create (AOwner: TComponent); override;
destructor Destroy; override;
published
{ Published declarations }
end;
procedure Register;
implementation
procedure Register;
begin
RegisterComponents(´ComponentesKronus´, [TDBRGCpfCGC]);
end;
{ TDBRGCpfCGC }
constructor TDBRGCpfCGC.Create(AOwner: TComponent);
begin
inherited create (Aowner);
[i:50bf7987b2]//Parent:=self; [/i:50bf7987b2] [color=red:50bf7987b2]Tentei isso e não deu certo[/color:50bf7987b2]
DBRGPessoa:=TDBRadioGroup.Create(Self);
EdtCGCCPF:=TDBEdit.Create(DBRGPessoa);
EdtRGIE:=TDBEdit.Create(DBRGPessoa);
BevelInner:=bvNone;
BevelOuter:=bvNone;
Caption:=´´;
Height:=150;
Width:=250;
Items.Add(´CGC´); [color=red:50bf7987b2]O erro da aqui[/color:50bf7987b2]
end;
destructor TDBRGCpfCGC.Destroy;
begin
inherited;
end;
end.
Estou tentando criar um novo componente baseado no TDBRadioButton. No create do componente peço para ser criado 2 radiobuttons. Compilo e instalo o componente certinho. Quando vou colocar o componente no form ele da o seguinte erro: [b:50bf7987b2]Control ´´ has no parent window[/b:50bf7987b2] .
Ja percebi que o erro esta relacionado a esta linha [b:50bf7987b2]Items.Add(´CGC´)[/b:50bf7987b2].
ja tentei usar .Parent:=self e não deu certo, já não sei mais o que fazer. Caso alguem puder me ajudar agradeço.
Abaixo segue fonte:
unit DBRGCpfCGC;
interface
uses
SysUtils, Classes, Controls, StdCtrls, ExtCtrls, DBCtrls,Messages,Dialogs,DB;
type
TDBRGCpfCGC = class(TPanel)
EdtCGCCPF : TDBEdit;
EdtRGIE : TDBEdit;
DBRGPessoa : TDBRadioGroup;
private
{ Private declarations }
protected
{ Protected declarations }
public
{ Public declarations }
constructor Create (AOwner: TComponent); override;
destructor Destroy; override;
published
{ Published declarations }
end;
procedure Register;
implementation
procedure Register;
begin
RegisterComponents(´ComponentesKronus´, [TDBRGCpfCGC]);
end;
{ TDBRGCpfCGC }
constructor TDBRGCpfCGC.Create(AOwner: TComponent);
begin
inherited create (Aowner);
[i:50bf7987b2]//Parent:=self; [/i:50bf7987b2] [color=red:50bf7987b2]Tentei isso e não deu certo[/color:50bf7987b2]
DBRGPessoa:=TDBRadioGroup.Create(Self);
EdtCGCCPF:=TDBEdit.Create(DBRGPessoa);
EdtRGIE:=TDBEdit.Create(DBRGPessoa);
BevelInner:=bvNone;
BevelOuter:=bvNone;
Caption:=´´;
Height:=150;
Width:=250;
Items.Add(´CGC´); [color=red:50bf7987b2]O erro da aqui[/color:50bf7987b2]
end;
destructor TDBRGCpfCGC.Destroy;
begin
inherited;
end;
end.
Educacau
Curtir tópico
+ 0
Responder
Posts
12/06/2006
Os1000r
Olá,,,
Como vc esta criando um componente visual, é necessário fornecer um container (form, panel,etc) para que ele saiba onde será criado e e quem é seu pai.
No create do componente acrescente o seguinte:
Fazendo isso deve funcionar direitinho..
Abraço
Como vc esta criando um componente visual, é necessário fornecer um container (form, panel,etc) para que ele saiba onde será criado e e quem é seu pai.
No create do componente acrescente o seguinte:
// Atribua a propriedade ParentWindow do componente o Handle do // form no qual vc o está colocando. TDBRadioButton.ParentWindow:=tForm.handle
Fazendo isso deve funcionar direitinho..
Abraço
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)