Forum: Programmieren allgemein
by Stevie,
17. Jan 2015
Die Routine bringt aber nix, wenn sie generisch ist, kannste sie nicht unter das if/else schreiben und für jegliche TList<T> nutzen, weil du immernoch nen T angeben musst. Die fehlende Kontravarianz ist hier das Problem.
Sonst hättse ja gleich das hier schreiben können, nech?
if (...) then
varListRed.TrimExcess
else
varListBlue.TrimExcess;
Forum: Programmieren allgemein
by Stevie,
16. Jan 2015
Das grundlegende Problem hab ich hier schonmal beschrieben.
In deinem Fall kannst du mit einem Hardcast arbeiten sofern du nicht versuchst nen TRot in ne liste von TBlau zu stecken:
procedure CleanColor;
var
varListRed: TList<TRot>;
varListBlue: TList<TBlau>;
varListToEdit: TList<TFarbe>;
begin