Einzelnen Beitrag anzeigen

madbrain

Registriert seit: 9. Aug 2003
Ort: an der Elbe
20 Beiträge
 
Delphi 7 Enterprise
 
#1

FOR-Schleifenvariable muss eine lokale Variable sein. Warum?

  Alt 23. Aug 2003, 18:25
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
  Mit Zitat antworten Zitat