Moin, moin!
Ich habe relativ viele Prozeduren / Funktionen (in einer
Unit) die einen Zähler brauchen. Um Variablen zu sparen, habe ich diese Variable global deklariert.
Delphi hält davon aber nicht so viel:
FOR-Schleifenvariable muss eine einfache lokale Variable sein
Diese Fehlermeldung wird angezeigt, wenn die Steuervariable einer for-Anweisung keine einfache Variable ist (sondern beispielsweise eine Komponente eines Datensatzes), und wenn sie nicht lokal zu der Prozedur ist, die die for-Anweisung enthält.
Aus Gründen der Abwärtskompatibilität ist es zulässig, eine globale Variable als Steuervariable zu verwenden – der Compiler gibt in diesem Fall eine Warnmeldung aus. Beachten Sie, dass mit Verwendung einer lokalen Variable außerdem ein leistungsfähigerer Programmcode erzeugt wird.
Die Idee, alles möglichst lokal zu deklarieren ist ja gut, aber in diesem Fall doch eher unpraktisch !?
Warum wird dadurch "leistungsfähigerer Programmcode" erzeugt?
Thx
Madbrain