Einzelnen Beitrag anzeigen

Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Typisierte lokale Konstante in Generic-Unterklasse - Compiler-Bug?

  Alt 3. Jan 2014, 18:35
Das ist kein Bug. Wenn du das zuweisbar haben willst, musst du einen eigenen Typen deklarieren.
Delphi-Quellcode:
type
  TBaseClass<T: class> = class abstract
  public
    type
      TExampleArray = array [0 .. 0] of Integer;
  protected
    var
      someField: TExampleArray;
  public
    procedure doStuff(); virtual; final;
  end;

procedure TBaseClass<T>.doStuff();
const
  someConstant: TExampleArray = (5);
begin
  someField := someConstant;
end;
Denn sonst erstellt der Compiler selbst jeweils einen Typen und das sind dann eben verschiedene Typen, auch wenn die gleiche Deklaration zugrunde liegt.

Ist die Klasse jedenfalls nicht generisch, dann haben sowohl Compiler als auch Code Completion kein Problem.
Richtig, das hatte ich auch genau getestet was genau die wichtigen Schritte sind, sowohl den konkreten Typ Boolean als auch den Rest.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat