For Schleife kommt durcheinander....

Für Fragen rund um die Ide und zum Debugger
AndreasMR
Beiträge: 98
Registriert: Di 4. Aug 2015, 15:29
OS, Lazarus, FPC: Linux, Raspbian, Windows
CPU-Target: 64/32 Bit

Re: For Schleife kommt durcheinander....

Beitrag von AndreasMR »

Hallo Michael,

hmm, solche Effekte kenne ich auch. Die verwirren mich auch total. Die Ursache war bislang aber immer der Typ vor der Tastatur. Der hat doch die Schleifenvariable innerhalb der Schleife verändert.

Beste Grüße

Andreas
Ubuntu 14.04 LTS / Raspbian / Windows: Lazarus ab 0.9 bis 3.0

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: For Schleife kommt durcheinander....

Beitrag von pluto »

Der hat doch die Schleifenvariable innerhalb der Schleife verändert.

Sowas ist auch immer Lustig...
MFG
Michael Springwald

Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: For Schleife kommt durcheinander....

Beitrag von Mathias »

pluto hat geschrieben:
Die wachsende Größe und die ständigen Nutzungen gleicher DLL von mehren Programmen

Sowas in der Richtung, wird es wohl auch gewesen sein. Aber so ein Fehler bringt einen komplett durcheinander, weil man ja die "Ursache" erst mal finden muss.


Es könnte auch sein, das xterm einen Bug hat. Oder irgend eine *.so Datei.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Michl
Beiträge: 2505
Registriert: Di 19. Jun 2012, 12:54

Re: For Schleife kommt durcheinander....

Beitrag von Michl »

@Pluto: Ist die Ausgabe Teil eines größeren Programms oder nur eine Testapp gewesen? Hast du Rangechecks angeschaltet?

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection; 

martin_frb
Beiträge: 572
Registriert: Mi 25. Mär 2009, 21:12
OS, Lazarus, FPC: Laz trunk / fpc latest release / Win and other
CPU-Target: mostly 32 bit

Re: For Schleife kommt durcheinander....

Beitrag von martin_frb »

Unter Linux gibt es: Menu > view > debug windows > terminal (oder console) output.

Das ist kein echtes Terminal, sondern ein Fenster der IDE, das den Output des Programms anzeigt.

Die ausgaben gehen über ein Pseudo-pty. Möglich das bei gepufferten write Operationen da noch output von einem vorherigen Run drin ist???? Vielleicht wenn der Run davor abgebrochen wurde?

Trotzdem komisch.....

Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: For Schleife kommt durcheinander....

Beitrag von Mathias »

Bei mir hatte sich xterm auch gerade ein wenig verschluckt, somit muss es in xterm einen Bug haben. :roll:
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: For Schleife kommt durcheinander....

Beitrag von pluto »

@Pluto: Ist die Ausgabe Teil eines größeren Programms oder nur eine Testapp gewesen? Hast du Rangechecks angeschaltet?

Es war beides: erst ein teil eines größeres Programm und anschließend ein kleines Test Programm.
Das mit den Rangechecks müsste ich mal überprüfen.

Bei mir hatte sich xterm auch gerade ein wenig verschluckt, somit muss es in xterm einen Bug haben.

Verwendest du Linux Mint 18.1?
MFG
Michael Springwald

Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: For Schleife kommt durcheinander....

Beitrag von Mathias »

Nein, 18.3
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

martin_frb
Beiträge: 572
Registriert: Mi 25. Mär 2009, 21:12
OS, Lazarus, FPC: Laz trunk / fpc latest release / Win and other
CPU-Target: mostly 32 bit

Re: For Schleife kommt durcheinander....

Beitrag von martin_frb »

pluto hat geschrieben:Der Punkt ist: Immer wenn ich versuche die Ausgabe zu markieren, wird die Ausgabe "richtig".


Um sicher zu gehen, das ich das richtig verstehe:
- (Wenn) Auf dem Bildschirm die falsche Ausgabe steht
- Und du diesen markierst (selektierst - um den Text z.B. ins Clipboard zu kopieren)
- Dann wird der Text wie magisch korrigiert

Beim markieren, muss das Fenster neu gezeichnet werden. Die dann richtigen Daten zeigen, das im speicher (Speicher des Terminal Fensters) die korrekten Daten sind (Deine App also richtig funktioniert)

Die falsche Ausgabe kommt dann vermutlich daher, dass irgendwann ein Paint event nicht ausgefuehrt wurde. Wenn das nach dem scrollen passiert, verdoppeln sich einige Zeilen, und andere Fehlen.

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: For Schleife kommt durcheinander....

Beitrag von pluto »

- (Wenn) Auf dem Bildschirm die falsche Ausgabe steht
- Und du diesen markierst (selektierst - um den Text z.B. ins Clipboard zu kopieren)
- Dann wird der Text wie magisch korrigiert

Richtig. Es reicht schon, dass Markieren... Seit ein paar Tagen ist der Fehler weg.

Beim markieren, muss das Fenster neu gezeichnet werden. Die dann richtigen Daten zeigen, das im speicher (Speicher des Terminal Fensters) die korrekten Daten sind (Deine App also richtig funktioniert)

Richtig. Es liegt denke ich nicht an meine "App", weil, ich hatte eine Extra Leere Test Anwendung erstellt, wo der Fehler auch drin ist.
Es muss am Speicher oder an der CPU gelegen haben.

Die falsche Ausgabe kommt dann vermutlich daher, dass irgendwann ein Paint event nicht ausgefuehrt wurde. Wenn das nach dem scrollen passiert, verdoppeln sich einige Zeilen, und andere Fehlen.

Den Eindruck hatte ich auch. Ist mir bisher noch nie aufgefallen im "Terminal" Fenster von Lazarus.
MFG
Michael Springwald

Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: For Schleife kommt durcheinander....

Beitrag von Mathias »

Alles was Pluto schreibt deutet hin, das OnPaint von xterm fehlerhaft ist.

In Editor von Eclipse habe ich dies auch schon erlebt. Sogar Lazarus hatte dies Problem auch schon.
Es könnte sein, das Mint die OnPaint-Ereignisse nicht richtig auslöst. Ich weis nicht, wie das Scrollen geht, aber ich denke, das dabei auch nur VRAM verschoben wird.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: For Schleife kommt durcheinander....

Beitrag von pluto »

Alles was Pluto schreibt deutet hin, das OnPaint von xterm fehlerhaft ist.

Bisher ist es ja scheinbar nur bei zwei Leuten aufgetreten. jedenfalls die sich hier zu Word gemeldet haben.
Wir könnten es ja erst mal beobachten. Allerdings gibt es weitere Eigenartigen bei Linux Mint.
Z.B. in Inkscape. Bevor ich Hilflinen verwenden konnte, musste ich den Fenstermanager unter Linux Mint Wechseln.

Hier könnte Mathias recht haben, dass es sich um ein Linux Mint Problem handelt. Oft werden Ereignisse Eigenartig abgearbeitet. Z.B. Telegramm. Ist neben der Uhr. Wenn ich drauf klicke, kommt ein Menü. Bei jedem anderen Linux Dekstop, erscheint Telegram.
Wobei ich auch XFCE4 verwende, als Desktop, vielleicht liegt es daran?
MFG
Michael Springwald

Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: For Schleife kommt durcheinander....

Beitrag von Mathias »

Bisher ist es ja scheinbar nur bei zwei Leuten aufgetreten. jedenfalls die sich hier zu Word gemeldet haben.

Es hat nicht jeder den gleichen Grafik- Chip/Treiber. Ich habe einen Intel 4000.
Auch der Kernel könnte einen Einfluss haben.

Wobei ich auch XFCE4 verwende, als Desktop, vielleicht liegt es daran?

Ich habe; Cinnamon 3.6.7.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: For Schleife kommt durcheinander....

Beitrag von Mathias »

Ich habe gerade festgestellt, das das Konsolen-Fenster von Lazarus das gleiche Problem auch hat: Ansicht --> Debuggerfenster --> Terminalausgabe
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Antworten