 |
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
| Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
| Autor |
Nachricht |
ALWIM

Anmeldungsdatum: 08.08.2006 Beiträge: 1053 Wohnort: Niederbayern
|
Verfasst am: 19.07.2026, 19:46 Titel: Bug in Quellcode oder Compiler? |
|
|
Hallo Community,
ich habe eine neue Funktion für mein Turnierverwaltungsprogramm geschrieben! Diese sollte eine Datei (XML-Format), für die DWZ-Auswertung für den Deutschen Schachbund erstellen. Aus irgendeinem Grund, wird die Datei unvollständig erstellt? Bei einer Turnierdatei, die 11 Runden hat, wird bei Runde 11, nach der ersten oder zweiten Paarung einfach abgebrochen? Ich habe keine Ahnung warum? Mit -exx finde ich keinen Out of Bounds oder sonst irgendeine Fehlermeldung! Kann es sein, dass im Compiler ein Bug drin ist? Es könnte theoretisch auch ein Bug in meinem Quellcode sein? Wenn ich am Quellcode manche Zeilen zu Kommentaren machen, ist die Datei korrekt oder er bricht an anderer Stelle ab? Gestern auf einem anderen Rechner, wurde die Datei korrekt erstellt, während nur durch hinzufügen von einer Zeile, die Datei wieder unvollständig ist? Ich komme echt nicht mehr weiter?
Vielleicht hat da einer eine Idee? Selbst die KI, hilft mir im Moment nicht weiter. Die findet den Fehler auch nicht!
Ich verwende die aktuellste Compiler Version.
Ps.: Der Quellcode ist nur lauffähig, wenn man sich mein Turnierverwaltungsprogramm als Version 3.88 herunterlädt! STOP.bas einfach durch den neuen Quellcode ersetzen. Die Auswertungsdatei wird über Seite "WEBSEITE" und Mausklick auf DeWIS (GER) erstellt! Der entsprechende Quellcode, der die Datei erstellt, befindet sich in SUB DWZ_Auswertung.
Link zum Quellcode: https://www.freebasic-portal.de/porticula/schachturnierorganisationsprogramm-v3-8x-1873.html
Inhalt einer Turnierdatei zum Test (Test.STOP):
| Code: | | Aus Datenschutzgründen wieder entfernt! |
_________________ SHELL SHUTDOWN -s -t 05
Zuletzt bearbeitet von ALWIM am 21.07.2026, 14:32, insgesamt einmal bearbeitet |
|
| Nach oben |
|
 |
grindstone
Anmeldungsdatum: 03.10.2010 Beiträge: 1297 Wohnort: Ruhrpott
|
Verfasst am: 20.07.2026, 11:12 Titel: Re: Bug in Quellcode oder Compiler? |
|
|
Hallo ALWIM,
| ALWIM hat Folgendes geschrieben: | | ...über Seite "WEBSEITE"... |
Ich nehme mal an, das sollte eigentlich ein Link werden...
Es wäre schön, wenn der Quellcode auch Zeilenumbrüche hätte.
Gruß
grindstone _________________ For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen! |
|
| Nach oben |
|
 |
ALWIM

Anmeldungsdatum: 08.08.2006 Beiträge: 1053 Wohnort: Niederbayern
|
Verfasst am: 20.07.2026, 13:53 Titel: Re: Bug in Quellcode oder Compiler? |
|
|
| grindstone hat Folgendes geschrieben: | Hallo ALWIM,
| ALWIM hat Folgendes geschrieben: | | ...über Seite "WEBSEITE"... |
Ich nehme mal an, das sollte eigentlich ein Link werden...
Es wäre schön, wenn der Quellcode auch Zeilenumbrüche hätte.
Gruß
grindstone | Der Quellcode hat Zeilenumbrüche, aber er wird jedesmal so dargestellt!? Keine Ahnung warum? Wenn man auf Download klickt, wird er korrekt dargestellt, sobald man die heruntergeladene ".bas" Datei öffnet!
Nein, das sollte kein Link werden. Das ist nur der Hinweis, wo die Funktion im Programm zu finden ist! _________________ SHELL SHUTDOWN -s -t 05 |
|
| Nach oben |
|
 |
Berkeley
Anmeldungsdatum: 13.05.2024 Beiträge: 118
|
Verfasst am: 20.07.2026, 14:30 Titel: |
|
|
Du kannst mit meiner Debug-Bibliothek checken, wo der Fehler passiert:
https://www.freebasic-portal.de/downloads/bibliotheken/debug-tool-library-408.html.
Für jeden anderen ist es viel Arbeit, sich in den Code einzuarbeiten. Ich vermute dass deine Tabelle defekt ist - ein Feld oder eine Zeile fehlt.
Gib' immer wieder Informationen aus z.B. mit DEBUGOUT "i ist "+STR(i) oder DEBUGOUT "Runde "+STR(r)+" erreicht". Die Bibliothek schreibt in "debug.txt". |
|
| Nach oben |
|
 |
ALWIM

Anmeldungsdatum: 08.08.2006 Beiträge: 1053 Wohnort: Niederbayern
|
Verfasst am: 20.07.2026, 15:44 Titel: |
|
|
| Berkeley hat Folgendes geschrieben: | Du kannst mit meiner Debug-Bibliothek checken, wo der Fehler passiert:
https://www.freebasic-portal.de/downloads/bibliotheken/debug-tool-library-408.html.
Für jeden anderen ist es viel Arbeit, sich in den Code einzuarbeiten. Ich vermute dass deine Tabelle defekt ist - ein Feld oder eine Zeile fehlt.
Gib' immer wieder Informationen aus z.B. mit DEBUGOUT "i ist "+STR(i) oder DEBUGOUT "Runde "+STR(r)+" erreicht". Die Bibliothek schreibt in "debug.txt". | Vielen Dank für die Information! Die Bibliothek kannte ich noch nicht. Muss ich mir jetzt mal ansehen. Dachte zuerst, dass ein Bug im Compiler vorliegt, der manchen von euch bereits bekannt ist? Aber ich glaube auch, dass bei mir ein Fehler drin ist! Sicher wieder so eine "Out of Bounds" Geschichte...
Was soll es sonst sein? _________________ SHELL SHUTDOWN -s -t 05 |
|
| Nach oben |
|
 |
ALWIM

Anmeldungsdatum: 08.08.2006 Beiträge: 1053 Wohnort: Niederbayern
|
Verfasst am: 21.07.2026, 14:28 Titel: |
|
|
Was passiert, wenn man "CLOSE #F" vergisst? Habe gerade gesehen, dass ich den Befehl vergessen habe! Habe den Code jetzt 5x oder 6x angeschaut! Jedes Mal, ist mir das nicht aufgefallen. Das dürfte es jetzt gewesen sein? Test muss ich noch machen. Manchmal sind es die kleinen Dinge, mit großer Wirkung... _________________ SHELL SHUTDOWN -s -t 05 |
|
| Nach oben |
|
 |
Berkeley
Anmeldungsdatum: 13.05.2024 Beiträge: 118
|
Verfasst am: 22.07.2026, 15:04 Titel: |
|
|
| ALWIM hat Folgendes geschrieben: | | Was passiert, wenn man "CLOSE #F" vergisst? |
Früher waren Betriebssysteme limitiert auf 4-8 Dateien gleichzeitig zu öffnen. Theoretisch hättest du damit das ganze Betriebssystem blockieren können, wenn es Multitasking praktiziert hätte. Im Prinzip schließt man einfach eine Datei wenn man fertig ist. Passieren kann einiges, z.B. wird die Datei nicht geschrieben, wenn das Programm abstürzt oder beendet wird. Wenn du F nicht mit FREEFILE() ermittelst, schreibst du ggf. in die alte Datei weiter bzw. OPEN schlägt fehl als wäre die gewünschte Datei schreibgeschützt oder Ähnliches. |
|
| Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4727 Wohnort: ~/
|
Verfasst am: 22.07.2026, 15:43 Titel: |
|
|
Wenn das FreeBASIC-Programm regulär beendet wird (mit END oder einfach, weil die letzte Programmzeile ausgeführt wurde), werden die geöffneten Dateien automatisch geschlossen, d. h. die Daten müssten dann auch geschrieben werden. Wenn das Programm zuvor abstürzt, werden wahrscheinlich nicht alle Daten korrekt geschrieben. So oder so sollte eine mit OPEN geöffnete Datei auch wieder mit CLOSE geschlossen werden, allein schon weil das Öffnen mit einer bereits verwendeten, aktiven Dateinummer nicht funktioniert (und nach 255 gleichzeitig geöffneten Dateien ist dann in FreeBASIC sowieso Schluss).
Falls du die XML-Datei schon mal ansehen wolltest, bevor dein Programm beendet war, kann durchaus das fehlende CLOSE die Ursache dafür sein, dass die XML-Datei unvollständig war. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
-----
"Das wissen doch sowieso nur Nerdinauten, die Schlaumeierologie studiert haben." - coldmirror |
|
| Nach oben |
|
 |
ALWIM

Anmeldungsdatum: 08.08.2006 Beiträge: 1053 Wohnort: Niederbayern
|
Verfasst am: 22.07.2026, 19:15 Titel: |
|
|
| nemored hat Folgendes geschrieben: | Wenn das FreeBASIC-Programm regulär beendet wird (mit END oder einfach, weil die letzte Programmzeile ausgeführt wurde), werden die geöffneten Dateien automatisch geschlossen, d. h. die Daten müssten dann auch geschrieben werden. Wenn das Programm zuvor abstürzt, werden wahrscheinlich nicht alle Daten korrekt geschrieben. So oder so sollte eine mit OPEN geöffnete Datei auch wieder mit CLOSE geschlossen werden, allein schon weil das Öffnen mit einer bereits verwendeten, aktiven Dateinummer nicht funktioniert (und nach 255 gleichzeitig geöffneten Dateien ist dann in FreeBASIC sowieso Schluss).
Falls du die XML-Datei schon mal ansehen wolltest, bevor dein Programm beendet war, kann durchaus das fehlende CLOSE die Ursache dafür sein, dass die XML-Datei unvollständig war. | Das fehlende CLOSE #F, war tatsächlich der Fehler! Jetzt geht es ohne Probleme. Aber zunächst sucht man erstmal wie ein irrsinniger nach dem Fehler... _________________ SHELL SHUTDOWN -s -t 05 |
|
| Nach oben |
|
 |
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|