Fórum Generics, Record Helper Aninhado e Herança. #576404

01/03/2017

0

Oi pessoal. Estou com um erro que não consigo identificar a causa. Será que alguém pode me ajudar?
Eu tentei fazer o seguinte no Delphi 10.1 Berlin.

TClasseA<T> = class
strict private
  type
    TTipo = (tipo1, tipo2)

    TTipoHelper = record Helper for TTipo
    end;

TClasseB = class(TClassA<TObject>)
end;


Alguém sabe se isso é um erro do próprio Delphi ou se eu cometi algum erro na codificação?
Lucas Silva

Lucas Silva

Responder

Posts

01/03/2017

Lucas Silva

Eu pulei um "end;" no exemplo que fiz, mas não é a ausência dele que causa erro aqui.

TClasseA<T> = class
strict private
  type
    TTipo = (tipo1, tipo2)

    TTipoHelper = record Helper for TTipo
    end;
end;

TClasseB = class(TClassA<TObject>)
end;
Responder

Gostei + 0

01/03/2017

Gutierry Pereira

Boa noite, voucê não informou qual erro esta ocorrendo. Mas acredito ser devido ao seu type esta abaixo da definição da primeira classe, além da classe TClassA não existir, ela foi declarada como TClasseA.

Tente assim:
type
  TTipo = (tipo1, tipo2);

  TClasseA<T> = class
  strict private
  end;

  TTipoHelper = record Helper for TTipo
  end;

  TClasseB = class(TClasseA<TObject>)
  end;
Responder

Gostei + 0

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

Aceitar