Hallo zusammen,
ich schreibe mir gerade ein paar Klassen, mit denen ich so ziemlich alles animieren lassen will. Zunächst war meine Idee lediglich ein Overlay-Form einfaden zu lassen, allerdings ist mir das im Moment zu spezifisch. Bin im Moment dabei mich mal wieder mit Generics zu befassen und habe folgenden Code:
Delphi-Quellcode:
procedure TAnimator.Add<T>(ATarget: TObject; APropertyName: String; AToValue: T);
begin
Add<T>(ATarget, [APropertyName], [AToValue]); // Das hier ist Zeile 184
end;
procedure TAnimator.Add<T>(ATarget: TObject; APropertyName: array of String; AToValue: array of T);
begin
// Do something...
end;
Ohne Generics funktioniert und compiliert das ganze wunderbar. Aber hier erscheint dann diese tolle Fehlermeldung:
Zitat:
[DCC Fehler] ApAnimations.pas(184): E2506 Im interface-Abschnitt deklarierte Methode des parametrisierten Typs darf kein lokales Symbol ':6' verwenden
Gerate wurde ich sagen, dass ich das nicht machen darf, da der Compiler einfach nicht damit klar kommt. Kennt hierfür aber evtl. jemand eine Lösung bzw. Workaround?
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)