Einzelnen Beitrag anzeigen

Benutzerbild von Corpsman
Corpsman

Registriert seit: 8. Nov 2005
Ort: nähe Stuttgart
981 Beiträge
 
Delphi XE2 Professional
 
#1

Schleifenvariable beschreiben, ...

  Alt 19. Jul 2009, 09:59
Guten Morgen,

Ich höre ja gerade eine Vorlesung über Konzepte von Programmiersprachen.

Und unser Prof zeigt uns immer mal wieder echt "Überraschende" dinge.

Das Konstanten keine Konstanten sind hatte ich ja auch schon mal geschrieben.

Heute zeige ich euch wie man Schleifenvariablen werte zuweisen kann.

Ja richtig gelesen, das geht. Obwohl es eigentlich nicht erlaubt ist.

Und wie auch schon bei den Konstanten lautet der Trick hier wieder , POINTER.

Es scheint als habe Delphi ( zumindest D5Pro ) keinerlei Pointer Optimierung, bzw. Pointer Prüfungen.

Folgender Code ist in D5 Legal und sorgt für eine Endlosschleife.

Testet doch bitte in euren D5 versionen ob der Code Legal ist und ob das selbe passiert .

Delphi-Quellcode:

Procedure TForm1.Button1Click(Sender: TObject);
Var
  x: Integer;
  p: ^integer;
Begin
  p := @x;
  For x := 0 To 3 Do Begin
    showmessage(inttostr(x));
    p^ := 1;
  End;
End;
Also aufgepasst. Jeder der sich ein Programm schreibt das Pointer benutzt. Eure schleifen könnten evtl. ewig laufen *g*
Uwe
My Sitewww.Corpsman.de

My marble madness clone Balanced ( ca. 70,0 mb ) aktuell ver 2.01
  Mit Zitat antworten Zitat