Die Vereinfachung bezog sich nur auf den geposteten Code. Ich bekomme es mit EXAKT den gleichen Units nicht in einem leeren Projekt reproduziert. Oder habe ich das jetzt falsch verstanden?
Edit:
Die Ursache lag in der
Unit welche sich eine Instanz von
TMyObject
erstellt hat. Sie hatte
uses [...], Spring
und ebendiese
Unit redeklariert in ihrem Interface-Teil (weshalb auch immer)
TTimeSpan = TimeSpan.TTimeSpan;
.
Wenn ich dort nun ein reines "TTimeSpan" benutze, dann ist es ein Spring.TTimeSpan und kein System.TimeSpan.TTimeSpan, obwohl es eigentlich nur ein Alias ist.
Warum der Compiler nun den Konstruktor anstreicht und nicht die Zeile wo ein Spring.TTimeSpan einer System.TimeSpan.TTimeSpan-Property zugewiesen weiß ich allerdings auch nicht.
Immerhin bin ich die Warnung los.