For Schleife kommt durcheinander....

Für Fragen rund um die Ide und zum Debugger

For Schleife kommt durcheinander....

Beitragvon pluto » 18. Mai 2018, 18:55 For Schleife kommt durcheinander....

Hallo

Ich habe ein Problem, was ich nicht ganz nachvollziehen kann:

Starte ich meine Anwendung Außerhalb der Lazarus-IDE, sieht die Ausgabe meine Forschleife so aus:
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27

Wichtig bis 27.... Ab 22 gibt es "Probleme"..

Nun wollte ich das Problem nachstellen und habe was eigenartiges bemerkt dabei:
Zwischendurch kommt die Forschleife durcheinander dann sieht es in etwa so aus:
0
1
2
3
4
5
0
1
2
3
40
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27


Der Punkt ist: Immer wenn ich versuche die Ausgabe zu markieren, wird die Ausgabe "richtig".
Dieses Verhalten kommt wohl auch nicht immer.... das macht es um so schwerer die Ursache zu finden...
Wenn das Ausgabe Fenster groß genug ist, dass nicht gescrollt werden muss, kommt der Fehler auch nicht...

Könnte es ein Ram Fehler sein?
Liegt es vielleicht am Standard Terminal von Lazrus?
Eine Neue-Lazarus Anwendung zeigt dieses Verhalten offenbar bisher nicht...
MFG
Michael Springwald
Aktuelles Projekt: PlutoArduino
pluto
 
Beiträge: 6678
Registriert: 19. Nov 2006, 12:06
Wohnort: Oldenburg/Oldenburg
OS, Lazarus, FPC: Linux Mint 18.3 | 
CPU-Target: AMD
Nach oben

Beitragvon Mathias » 18. Mai 2018, 19:06 Re: For Schleife kommt durcheinander....

Welches OS, welches Terminal ?
Wie sieht deine Source aus ?
Wie wird ausgegeben, mit WriteLn ?
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4330
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon pluto » 18. Mai 2018, 19:21 Re: For Schleife kommt durcheinander....

Stimmt gute Fragen:
1. Linux mit 18.1
2. Standard Terminal von Lazrus

3. Mein Soruce ist einfach eine For schleife:
Code: Alles auswählen
var
  i:Integer;
begin
  for i:=0 to 27 do begin
    writeln(i);
  end;
 
Ich habe sogar alles was mit meinem Programm zu tun hatte, raus genommen.
Es scheint sich aber um ein Buffer Fehler im Terminal Fenster zu handeln, warum weiß ich jedoch nicht.
MFG
Michael Springwald
Aktuelles Projekt: PlutoArduino
pluto
 
Beiträge: 6678
Registriert: 19. Nov 2006, 12:06
Wohnort: Oldenburg/Oldenburg
OS, Lazarus, FPC: Linux Mint 18.3 | 
CPU-Target: AMD
Nach oben

Beitragvon Epcop » 18. Mai 2018, 20:38 Re: For Schleife kommt durcheinander....

Ich kenne das Problem auch.
Ich glaube das hängt nicht mit dem Source oder Lazarus zusammen. Dieses Phänomen kenne ich auch bei anderen Anwendungen z.B. Word, Browser u.ä.

Eine Lösung kenne ich allerdings nicht. Es scheint irgendwie ein Problem mit der "Anzeige" zu sein?! Ich kann da nur mutmaßen; Bisher ging meine Vermutung an Prozessorauslastung und RAM Auslastung. Sodass die Anzeige verzögert nachgeschoben wird oder gar "vergessen".
Epcop
 
Beiträge: 81
Registriert: 29. Mai 2012, 08:36

Beitragvon pluto » 18. Mai 2018, 20:58 Re: For Schleife kommt durcheinander....

Auslastung. Sodass die Anzeige verzögert nachgeschoben wird oder gar "vergessen".

man könnte meinen, da "ist ein Programm", welches die "Daten" versteckt, Stichwort: Virus oder so?

Aber erst mal schön, dass ich nicht alleine mit dem Problem bin. Ich dachte schon, ich verstehe die Welt nicht mehr, als eine einfache Forschleife nicht klappen wollte.
MFG
Michael Springwald
Aktuelles Projekt: PlutoArduino
pluto
 
Beiträge: 6678
Registriert: 19. Nov 2006, 12:06
Wohnort: Oldenburg/Oldenburg
OS, Lazarus, FPC: Linux Mint 18.3 | 
CPU-Target: AMD
Nach oben

Beitragvon Mathias » 18. Mai 2018, 21:00 Re: For Schleife kommt durcheinander....

2. Standard Terminal von Lazrus

Welches ist dies ? xterm ?

PS: Sowas ähnliches habe ich schon an mehreren Orten in meinem Mint gesehen, aber im Terminal bis jetzt nicht.
Zuletzt geändert von Mathias am 18. Mai 2018, 21:02, insgesamt 1-mal geändert.
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4330
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon pluto » 18. Mai 2018, 21:02 Re: For Schleife kommt durcheinander....

Welches ist dies ? xterm ?

Wenn ich es herrausbekomme, schreibe ich es....
MFG
Michael Springwald
Aktuelles Projekt: PlutoArduino
pluto
 
Beiträge: 6678
Registriert: 19. Nov 2006, 12:06
Wohnort: Oldenburg/Oldenburg
OS, Lazarus, FPC: Linux Mint 18.3 | 
CPU-Target: AMD
Nach oben

Beitragvon Mathias » 18. Mai 2018, 21:04 Re: For Schleife kommt durcheinander....

Wenn ich es herrausbekomme, schreibe ich es....

Start --> Startparameter... --> Lokal --> Startprogramm --> /usr/bin/......................
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4330
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon pluto » 18. Mai 2018, 21:06 Re: For Schleife kommt durcheinander....

Das steht da
/usr/bin/xterm -T 'Lazarus Run Output' -e $(LazarusDir)/tools/runwait.sh $(TargetCmdLine)

Scheint also ein xterm zu sein....
MFG
Michael Springwald
Aktuelles Projekt: PlutoArduino
pluto
 
Beiträge: 6678
Registriert: 19. Nov 2006, 12:06
Wohnort: Oldenburg/Oldenburg
OS, Lazarus, FPC: Linux Mint 18.3 | 
CPU-Target: AMD
Nach oben

Beitragvon Mathias » 18. Mai 2018, 21:31 Re: For Schleife kommt durcheinander....

Dieses habe ich auch, konnte aber bis jetzt nichts feststellen.

Was passiert, wen du die Unit Crt einbindest ?
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4330
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon pluto » 18. Mai 2018, 22:21 Re: For Schleife kommt durcheinander....

Das ist komisch:
Im Moment bekomme ich den Fehler nicht mehr. Egal was ich mache. Ich habe die Unit Crt noch nicht eingebunden.
Tritt der Fehler wieder auf, werde ich es machen.

Es scheint wohl ein Temporäre Fehler zu sein.

Ich nutzte Lazarus ja schon seit 2006 und auch immer dieses Terminal Fenster.... sowas ist mir bisher noch nicht aufgefallen...
MFG
Michael Springwald
Aktuelles Projekt: PlutoArduino
pluto
 
Beiträge: 6678
Registriert: 19. Nov 2006, 12:06
Wohnort: Oldenburg/Oldenburg
OS, Lazarus, FPC: Linux Mint 18.3 | 
CPU-Target: AMD
Nach oben

Beitragvon Epcop » 19. Mai 2018, 07:22 Re: For Schleife kommt durcheinander....

Vielleicht hängt das auch mit der Grafikkarte zusammen ("Nvidia Bug"). Je nach Beanspruchung tritt dann der Fehler eher sporadisch auf.
Epcop
 
Beiträge: 81
Registriert: 29. Mai 2012, 08:36

Beitragvon pluto » 19. Mai 2018, 13:23 Re: For Schleife kommt durcheinander....

Nun, ich habe keine Nvidia:
00:01.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] BeaverCreek [Radeon HD 6530D]

Aber könnte auch damit zusammenhängen.... nur weil es nicht Nvidia ist, heißt es ja nicht, dass Radeon kein Bug hat oder?
MFG
Michael Springwald
Aktuelles Projekt: PlutoArduino
pluto
 
Beiträge: 6678
Registriert: 19. Nov 2006, 12:06
Wohnort: Oldenburg/Oldenburg
OS, Lazarus, FPC: Linux Mint 18.3 | 
CPU-Target: AMD
Nach oben

Beitragvon Erwin » 19. Mai 2018, 15:06 Re: For Schleife kommt durcheinander....

Also wenn ich mir die Ausgabe genau ansehe, dann hat er sich etwas verschluckt. Statt 6 fängt er wieder mit 0 an. Und dort wo 10 Stehen sollte, steht 40. Aber dann hat er sich wieder gefangen.

Das erinnert mich an einen Autor, der meinte, der Computer kenne keine ganzen Zahlen und alles werde nur gerundet. Und dass es immer wieder vorkommen könnte, dass der Unterschied der gewünschten Zahl und der echten Zahl zu groß ist, als dass es noch zur gewünschten Zahl gerundet werden kann. Und dadurch dann Fehler auftreten. Würde vielleicht erklären, wieso ich in Browsergames paar mal Gegenstände mit 0 Zustand erlebt habe, die aber mit der Zahl 0 entfernt werden sollte. Würde auch sonst manches merkwürdige Verhalten erklären, wo von ich teils selber erlebt habe, aber auch von anderen hörte. Nur hat das einen kleinen Hacken, weshalb ich dem seine Ausführungen nicht wirklich folgen konnte: Es soll keine echte 1 (bzw. ganze Zahlen) geben, sondern nur 0,9999.... (weiß nicht mehr, wie viele Stellen er schrieb)? Also wenn, dann könnte ich es mir eher umgekehrt vorstellen. Außerdem gibt es da auch noch andere Dinge, die ich für wahrscheinlich für solche Fehler halte: Die wachsende Größe und die ständigen Nutzungen gleicher DLL von mehren Programmen. Wer weiß, vielleicht hat da ein anderes Programm die eine DLL nicht richtig 'sauber' gemacht (Speicher gelehrt) und das andere Programm hat deshalb dann Probleme bei dessen Nutzung? Also zumindest was Linux betrifft, da war (oder ist noch) eine Kernel-Version, die mit einigen Joysticks nicht klar kommt. Worum also sollte sich da nicht auch andere Fehler einschleichen?
Win 7 / Lazarus 1.6 / FP 3.0.0 / x86_64-win64-win32/win64
Erwin
 
Beiträge: 216
Registriert: 16. Sep 2009, 13:15
OS, Lazarus, FPC: Xubuntu 16.04 / x86_64_linux-gtk 2 / L 1.6+dfsg-1 / FPC 3.0.0 | 
Nach oben

Beitragvon pluto » 19. Mai 2018, 17:11 Re: For Schleife kommt durcheinander....

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.
MFG
Michael Springwald
Aktuelles Projekt: PlutoArduino
pluto
 
Beiträge: 6678
Registriert: 19. Nov 2006, 12:06
Wohnort: Oldenburg/Oldenburg
OS, Lazarus, FPC: Linux Mint 18.3 | 
CPU-Target: AMD
Nach oben

» Weitere Beiträge siehe nächste Seite »
Nächste

Zurück zu Benutzung der IDE



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 4 Gäste

porpoises-institution
accuracy-worried