Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
Delphi 8 Professional
|
Re: wieder mal die Zeiger
26. Jan 2005, 20:59
Um es noch einmal ganz klar zu sagen: die Gültigkeitsbereiche sind schon wichtig. Und das hat mit Pointer usw. absolut nichts zu tun. Solche Fehler können im Prinzip überall auftreten. Wird eine Variable lokal, also so wie hier innerhalb einer Prozedur deklariert, dann gilt sie nur da. Wird die Prozedur aufgerufen, so bekommt das aufrufende Programm davon nichts mit. Das new innerhalb der Prozedur war also hier auch für die Katz.
Auch der jetzt verwendete VAR-Parameter ist nicht ganz ohne. Dann wird nämlich immer etwas an die aufrufende Stelle zurückgeliefert. Das geht hier ja jetzt anscheinend. Aber wehe, wenn innerhalb der Prozedur der VAR-Parameter keinen Wert zugewiesen bekommt. Dann ist der Effekkt der selbe und auch dann wird nur ein Zufallswert an das Programm zurückgeliefert. Deshalb sollten Var-Parameter immer zuerst initialisiert werden. Auch wenn man sich ganz sicher ist, daß sie auf jeden Fall irgendwo einen Wert erhalten.
Gruß
Hansa
|