Forum: Sonstige Fragen zu Delphi
by jaenicke,
31. Jan 2018
Was bei welcher Version genau war müsste ich schauen. Einfach nur ein Beispiel:function TMtclDialogThread.Get<T>(const AControlID: Integer): T;
var
ResultControl: TMtclBaseControl;
begin
if FControlsByID.TryGetValue(AControlID, ResultControl) and (ResultControl is T) then
Result := T(ResultControl)
else
Result := nil;
end;Das funktioniert ab XE problemlos. Unter Delphi 2010...
Forum: Sonstige Fragen zu Delphi
by jaenicke,
31. Jan 2018
Als ich bei meinem oben genannten Projekt die Unterstützung für ältere Versionen eingebaut habe, ist mir erst aufgefallen wie viel mit den Generics in den ersten Versionen ab 2009 noch nicht ging...
Dafür muss man in dem Projekt auf die Version vorher zurückspringen (vor dem Kommentar mit der Unterstützung für Delphi 7) und dann versuchen das unter Delphi 2009 oder 2010 zum Laufen zu bekommen....
Forum: Sonstige Fragen zu Delphi
by jaenicke,
31. Jan 2018
Aus TArray<TBlub> musst du array of TBlub machen oder einen eigenen Arraytyp definieren. Andere Elemente lassen sich nicht so leicht ersetzen...
Da bleibt oft nur nach alter Manier zu casten was das Zeug hält. Aber umbauen musst du da vermutlich einiges.
Das habe ich auch durch (mit einem sehr kleinen Projekt), aber ich habe mit IFDEFs gearbeitet, damit in neueren Delphiversionen Generics...