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


Joeygustavo

Joeygustavo

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:
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

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar