A sintaxe está errada, vc está colocando dois "Type"s.

faça assim:

type
  TDrawingToolPtr = ^TDrawingTool;

  TDrawingTool = class(TGraphicControl)
  private
     { ... }

     function Dup : TDrawingToolPtr; virtual;

     { ... }
  protected
    procedure Paint; override;
  public
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;
  end;


[]'s

Filipe Geyer
  ----- Original Message ----- 
  From: Paulo 
  To: delphi-br@yahoogrupos.com.br 
  Sent: Sunday, January 22, 2006 9:24 PM
  Subject: [delphi-br] Usos recursivos - como implementar


  Estou tentando converter codigo de um antigo livro de Turbo Pascal  6
  para o Delphi 7.

  Nesse codigo (ver trecho no final deste e-mail), sao criados dois types:

  1) TDrawingToolPtr, que e' um ponteiro para  o type (classe) TDrawingTool
  2) TDrawingTool, que e' uma classe que contem um metodo (function Dup),
  que e' do tipo TDrawingToolPtr, ou seja, e' do tipo do primeiro type

  O problema e' que esta' ocorrendo um erro de compilacao, pois
  o primeiro type aponta (TDrawingToolPtr) para o type que esta' mais abaixo
  (TDrawingTool).

  E se eu colocar a definicacao do TDrawingTool em primeiro lugar,
  entao o compilador acusa erro na linha da "function Dup", pois
  nao reconhece o type TDrawingTolPtr.

  Como devo proceder ?

  Grato pela atencao de todos
  Paulo

  type
     TDrawingToolPtr = ^TDrawingTool;
  end;


  type

    TDrawingTool = class(TGraphicControl)
    private
       { ... }

       function Dup : TDrawingToolPtr; virtual;

       { ... }
    protected
      procedure Paint; override;
    public
      constructor Create(AOwner: TComponent); override;
      destructor Destroy; override;
    end;



  [As partes desta mensagem que não continham texto foram removidas]



  -- 
  <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>





        Yahoo! Grupos, um serviço oferecido por: 
              PUBLICIDADE
                
       


------------------------------------------------------------------------------
  Links do Yahoo! Grupos

    a.. Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/
      
    b.. Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]
      
    c.. O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço 
do Yahoo!. 



[As partes desta mensagem que não continham texto foram removidas]



-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

<*> Para ver as mensagens antigas, acesse:
    http://br.groups.yahoo.com/group/delphi-br/messages

<*> Para falar com o moderador, envie um e-mail para:
    [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 


Responder a