Einzelnen Beitrag anzeigen

psycodad

Registriert seit: 8. Feb 2005
Ort: Embrach (CH)
40 Beiträge
 
Delphi 10.3 Rio
 
#1

Eigene Klasse von TObjectDictonary

  Alt 20. Dez 2018, 16:23
Guten Abend allerseits,

Ich probiere mir eine eigene Klasse von TObjectDictionary zu basteln. Das geht ja alles gut unds kompiliert auch. Wenn ich allerdings dann ein Objekt von der Klasse erzeugen möchte, ist beim "Inherited Create( s,0)" im Constructor Schluss mit Lustig. Ich krieg immer ne Fehlermeldung:

Erste Gelegenheit für Exception bei $77401812. Exception-Klasse EInvalidCast mit Meldung 'Ungültige Typumwandlung'. Prozess MyProg.exe (6512)


Code:
type
  TReportCache = class( TObjectDictionary<String,TfrxReport> )
  private
  public
    function GetReportObject( const aReportName: string): TfrxReport;
    procedure DelReportObject( const aReportName: string);
    Constructor Create;
  end;

implementation

{ TReportCache }

constructor TReportCache.Create;
var
  s: TDictionaryOwnerShips;
begin
  s := [doOwnsKeys, doOwnsValues];
  inherited Create( s, 0);
end;
Wenn ich "inherited Create" im Constructor ohne Parameter aufrufe funktionierts, allerdings krieg ich dann üble Speicherlecks weil die Objekte so in der Liste natürlich nicht abgeräumt werden.

Hat mir jemand einen Tipp was ich falsch mache?
  Mit Zitat antworten Zitat