Der Compiler erzeugt ungefähr:
Delphi-Quellcode:
// Ursprung
count:=FTypList[0].FilteredEinzelschritte[gWkz.Werkzeug['Zurr_240']].Count+
FTypList[0].FilteredEinzelschritte[gWkz.Werkzeug['Zurr_840']].Count;
//Nur Schema: Also macht der Compiler ungefähr das:
lTemp1 : TFilteredStanzprogramm = FTypList[0].FilteredEinzelschritte[gWkz.Werkzeug['Zurr_240']];
lTemp2 : TFilteredStanzprogramm FilteredEinzelschritte[gWkz.Werkzeug['Zurr_840']];
Count := lTemp1.Count + lTemp2.Count;
// Und da beide Ltemps auf das gleich Object zeigen.....
Sieht aus wie ein Compilerfehler, wobei ich jetzt schon weiss was dabei rauskommt: 'Works as designed'
Es ist soweit ich es kenne nicht dokumentiert was der Compiler da macht, oder machen darf...