Forum: Programmieren allgemein
by jaenicke,
29. Jun 2013
Es wird ja jedesmal der Getter der entsprechenden Eigenschaft aufgerufen. Je nachdem was dieser macht, kann das deutlich langsamer sein.
Und selbst wenn nur die entsprechende Position des Feldes in dem Objekt aufgelöst werden muss, weil es keinen Getter gibt, braucht das mindestens einen Assemblerbefehl pro Stufe mehr.
Dazu kommt, dass der Compiler beim einmaligen Abruf die Register besser...
Forum: Programmieren allgemein
by jaenicke,
29. Jun 2013
Ein anderes Problem bei with ist, dass man z.B. darin Variablennamen benutzt, die dann z.B. durch ein Delphiupdate plötzlich auch in dem with Objekt verfügbar sind. Solche Probleme dann zu finden ist auch extrem aufwendig, da es keinerlei Compilerhinweise darauf gibt.
Ich deklariere da schlicht eine Variable dafür und speichere das zwischen. So funktioniert intern with ja auch. Auf diese Weise...