Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - For ... Next -Problem


Kralle - Mo 18.07.11 17:25
Titel: For ... Next -Problem
Moin,

wenn ich mittels Debug-Modus eine For..Next-Schleife betrachte,
wird die Variable sofort auf den Endwert+1 gesetzt ohne das ich mir das erklären kann.

Ich habe einen Bildschirmmitschnitt erstellt und da größer als 2MB hier abgelegt:
http://www.rompelsoft.de/index.php?option=com_jdownloads&Itemid=3&view=viewdownload&catid=6&cid=13

Was läuft da falsch?

Gruß Heiko


Moderiert von user profile iconNarses: Topic aus Sonstiges (Delphi) verschoben am Mo 18.07.2011 um 19:53


ALF - Mo 18.07.11 18:12

Warum ein Video?
Setzt Deine Schleife mal mit begin end.

Delphi-Quelltext
1:
2:
3:
4:
for k:= 0 to blabla -1 do
begin
   //hier was du machen willst
end;


Gruss Alf


Jann1k - Mo 18.07.11 18:25

Es würde auch schon reichen das Semikolon hinter der Schleife zu entfernen.

Ich finde das mit dem Video ist eine schöne Idee, auch wenn es der Quelltext hier auch getan hätte.


Narses - Mo 18.07.11 18:59

Moin!

user profile iconKralle hat folgendes geschrieben Zum zitierten Posting springen:
wenn ich mittels Debug-Modus eine For..Next-Schleife betrachte,
wird die Variable sofort auf den Endwert+1 gesetzt ohne das ich mir das erklären kann.
Das kann an der Optimierung liegen, schalte die mal zum Debuggen aus. :idea:

user profile iconKralle hat folgendes geschrieben Zum zitierten Posting springen:
Ich habe einen Bildschirmmitschnitt erstellt und da größer als 2MB
user profile iconALF hat folgendes geschrieben Zum zitierten Posting springen:
Warum ein Video?
Da kann ich mich nur anschließen :| Der Quelltext hätte mich eher zum Mitdenken animiert, als eine "Animation" runterladen zu müssen... :nixweiss:

user profile iconJann1k hat folgendes geschrieben Zum zitierten Posting springen:
Ich finde das mit dem Video ist eine schöne Idee
Hm, mich hat es eher gestört, ja sogar davon abgehalten, mich mit der Frage zu beschäftigen. :?

cu
Narses


jaenicke - Mo 18.07.11 19:07

Ich kann mir das Video und damit den Quelltext nicht anschauen, weil die Verbindung gerade zu schlecht ist.

Aber wenn das Semikolon wirklich das Problem ist, hätte da eigentlich eine Compilerwarnung kommen müssen. In der sollte sinngemäß stehen, dass die Variable nach der Schleife nicht definiert ist. Mit der Folgerung, dass die Schleife vorher schon zu Ende sein muss.

Solche Warnungen zu ignorieren ist schlecht. ;-)


ALF - Mo 18.07.11 19:18

Richtig @jaenicke

Das Semikolon hab ich im Video gar nicht erst gesehen! :oops:

Darum ist die Idee, mit einem Video, nicht gerade gut :roll:
Gruss Alf


Kralle - Mo 18.07.11 21:53

Guten Abend,

das mit dem Video habe ich gewählt, weil ich auch die Programmmeldungen anzeigen wollte.
Warum es keine Meldung wegen des Semikolion verstehe ich auch nicht.

Das zusätzliche Begin..End ist nicht nötig.

Nach dem ich das Semikolion entfernt habe, läuft es.

Danke, das Ihr Euch die Mühe gemacht habt und das Video heruntergeladen und untersucht habt.

Gruß Heiko


ALF - Mo 18.07.11 21:58

user profile iconKralle hat folgendes geschrieben Zum zitierten Posting springen:
Das zusätzliche Begin..End ist nicht nötig.

Wenn Du es geschrieben hättest dann Debug, währst Du evtl selber darauf gekommen das er die Schleife in diesem Fall nicht durchläuft, sondern bei do schon fertig ist :wink:

Gruss ALf