Einzelnen Beitrag anzeigen

Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#7

Re: procedure...(var i,j: integer) - Erklärung für das "

  Alt 9. Nov 2003, 12:38
Ich würde mir da keine großen Gedanken machen, was im Speicher passiert, sondern wie die Logik in Delphi für so was aussieht und was mit den Gültigkeitsbereichen ist.

Prozedur mit Wert-Parametern (ohne VAR)

wie Luckie gesagt hat werden die Variablen an die Prozedur übergeben und innerhalb dieser weiterverarbeitet. Außerhalb der Prozedur hat das keinerlei Auswirkungen. Deshalb siehst Du auch nichts von dem Vertauschen.

Prozedur mit VAR-Parametern

genau wie vorher. ABER !!! Die innerhalb der Prozedur geänderten Parameter werden wieder an das aufrufende Programm zurück geliefert. In dem konkreten Beispiel würde dies z.B. bedeuten, daß beim ersten Aufruf der Prozedur die Zahlen vertauscht würden. Beim nächsten Aufruf werden sie wieder vertauscht, es wäre also alles wie zu Anfang.
Gruß
Hansa
  Mit Zitat antworten Zitat