Fórum Ajuda na criacao de Classes #260314
29/11/2004
0
Estou pela primeira vez criando classes no Delphi. Quero construir uma classe que deriva da classe TImage. Estou tentando definir um novo construtor pra ela, para que ela possa setar alguns parametros. Para isso, passo alguns parametros a mais neste construtor, mas quando vou compilar obtenho o seguinte erro:
´Declaration of ´Create´differs from previous declaration´
Eu sei que o construtor da classe TImage tem um numero diferente de parametros, mas a minha ideia é justamente redefinir este construtor... O que eu devo fazer pra conseguir isso? Segue o meu codigo:
type
Caminho = class(TImage)
private
pavimentacao : string;
condicoes : string;
sentido : string;
pistas : integer;
elevacao : string;
sentidoElevacao : string;
canteiroCentral : string;
published
property pPavimentacao : string read pavimentacao;
property pCondicoes : string read condicoes;
property pSentido : string read sentido;
property pPistas : integer read pistas;
property pElevacao : string read elevacao;
property pSentidoElevacao : string read sentidoElevacao;
property pCanteiroCentral : string read canteiroCentral;
{O ERRO OCORRE NA LINHA ABAIXO}
constructor Create(Owner: TComponent;X,Y: integer);override;
end;
Obrigado a todos!
Jose Gustavo
´Declaration of ´Create´differs from previous declaration´
Eu sei que o construtor da classe TImage tem um numero diferente de parametros, mas a minha ideia é justamente redefinir este construtor... O que eu devo fazer pra conseguir isso? Segue o meu codigo:
type
Caminho = class(TImage)
private
pavimentacao : string;
condicoes : string;
sentido : string;
pistas : integer;
elevacao : string;
sentidoElevacao : string;
canteiroCentral : string;
published
property pPavimentacao : string read pavimentacao;
property pCondicoes : string read condicoes;
property pSentido : string read sentido;
property pPistas : integer read pistas;
property pElevacao : string read elevacao;
property pSentidoElevacao : string read sentidoElevacao;
property pCanteiroCentral : string read canteiroCentral;
{O ERRO OCORRE NA LINHA ABAIXO}
constructor Create(Owner: TComponent;X,Y: integer);override;
end;
Obrigado a todos!
Jose Gustavo
Joeygustavo
Curtir tópico
+ 0
Responder
Posts
29/11/2004
Paulo_amorim
Olá
Inicialmente: um construtor deve ser declarado como publico e não publicado, já que não deve aparecer no ObjectInspector.
Você está dando um override em um tipo de construtor que não existe (com esses parâmetros). O override diz que você vai pegar o que já está implementado... nesse caso, acho que você deveria utilizar [b:5a44c229ce]reintroduce[/b:5a44c229ce]
Tente assim:
Espero que ajude
Até+
Inicialmente: um construtor deve ser declarado como publico e não publicado, já que não deve aparecer no ObjectInspector.
Você está dando um override em um tipo de construtor que não existe (com esses parâmetros). O override diz que você vai pegar o que já está implementado... nesse caso, acho que você deveria utilizar [b:5a44c229ce]reintroduce[/b:5a44c229ce]
Tente assim:
interface
{não tenho certeza se é necessário o overload depois do reintroduce... se não rodar, tente inclui-lo}
constructor Create( AOwner: TComponent; X, Y: Integer); reintroduce;
(...)
implementation
constructor Caminho.Create( AOwner: TComponent; X, Y: Integer);
begin
{ Chama o construtor padrão }
Create( AOwner);
{ Atribui posição }
<sua propriedade> := X;
<sua propriedade> := Y;
end;Espero que ajude
Até+
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)