Was zum Geier ist daran einfach?
worum es geht ist denke ich klar.
Zudem greifst Du wieder nicht auf ein Feld/Variable der nicht instanziierten Klasse zu.
das ist ja genau der Punkt. Es ist absoluter zufall und partout nicht nachvollziehbar, woher ein fehler kommt. wir haben zB derzeit einen stacktrace eines fehlers, natürlich 1-2 mal die Woche (oder auch nicht), wo zig klassen und property-reader vorkommen. somit is nicht mehr nachvollziehbar, wo der fehler eigentlich entstanden ist. ich kann nur dann, wenn ich jetzt genau jede klasse untersuche und nachschaue wo auf reader und wo das erste mal auf eine interne variable zugegriffen wird bewerten, wo es theoretisch sein könnte. habe ich den quellcode nicht, ist es gar nicht nachvollziehbar.
interessant wird es umso mehr, wenn man klassen weiterentwickelt. so habe ich zB in der vergangenheit manchmal klassenvariablen zu properties verändert, um eine nachträgliche vererbung zu implementieren.
Delphi-Quellcode:
zB: TMyClassNew und TMyClassOld implementieren beide ein und dasselbe Interface.
class Base=class
FistVersionVar : TMyClass;
end; //alte version
class BaseV1=class(Base)
property FirstVersionVar : TMyClassOld read FGetMyClass;
end;
class BaseV2=class(Base)
property FirstVersionVar : TMyClassNew read FGetMyClass;
end;
Und jetzt das Entscheidende: Schalte die Optimierung von Delphi aus! Sonst bekommst Du erst am Ende einen Zugriffsfehler!
[/QUOTE]
was ändert das muß ich jetzt fragen? erhalte ich dann einen anderen stack trace/ die
AV an einer anderen stelle?