Einzelnen Beitrag anzeigen

jbg

Registriert seit: 12. Jun 2002
3.481 Beiträge
 
Delphi 10.1 Berlin Professional
 
#6

Re: TObjectList und Generics --> E2515

  Alt 25. Okt 2008, 18:49
Zitat von Uwe Raabe:
leider auch nicht. Vielleicht ein Bug?
Im Generic-Code des Compilers sind so einige Bugs drinnen, wie meine Kommentare im folgenden Code-Beispiel erläutern (wer hat schon mal "lea eax,ah" oder "lea eax,quiet_dl" im CPU-Fenster gesehen)

Delphi-Quellcode:
{$INLINE ON}
function KeyAsObject(const Key): TObject; inline;
{ Inline muss vorhanden sein, da der Compiler sonst Assembler-Schrott generiert }
begin
  Result := TObject(Key);
end;

procedure ObjectAsKey(Value: TObject; var Key); inline;
{ Inline muss vorhanden sein, da der Compiler sonst Assembler-Schrott generiert }
begin
  TObject(Key) := Value;
end;

function tcl<TKey>.GetItem(Index: Integer): TKey;
begin
  ObjectAsKey(inherited Items[Index], Result);
end;

procedure tcl<TKey>.SetItem(Index: Integer; const Value: TKey);
begin
  inherited Items[Index] := KeyAsObject(Value);
end;

Zitat:
Ich frage mich allerdings auch, warum du nicht gleich die TObjectList<T: class> aus Generics.Collections verwendest.
Vielleicht weil es zu einfach gewesen wäre
  Mit Zitat antworten Zitat