Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Di Jul 22, 2025 11:15

Foren-Übersicht » DGL » Feedback
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Fehler im Script-Tutorial
BeitragVerfasst: Do Aug 18, 2005 22:53 
Offline
DGL Member

Registriert: So Jun 23, 2002 12:37
Beiträge: 144
Programmiersprache: C/C++, Delphi
Ich weiß nicht ob der Bug hier im Feedback-Teil oder woanders im Forum schon angesprochen wurde oder ob es anderen schon aufgefallen ist, aber beim Aufruf der GetSym-Prozedur wird das allerletzte Zeichen eines Scriptes einfach ignoriert (sofern es ein Einzelzeichen ( ',', '.', '(', ')', ... ) ist).

Rekonstruktion:
- Herunterladen der Sourcen des Script-Tutorials
- Löschen des Line-Breaks am Ende der test.script Datei oder erstellen einer neuen Textdatei, wobei der Inhalt einfach nur ein Punkt oder Komma ist.
- Laden der test.script bzw. der neu erstellten Textdatei mit der scanner.exe

Bei der Datei test.script sollte das letzte Symbol (ein ";") eigentlich angezeigt werden, wird aber ignoriert.
Bei der selbst erstellten Textdatei wird überhaupt kein Symbol angezeigt.

Das Problem liegt ganz am Anfang der GetSym-Prozedur:
Zitat:
...
while true do
begin
Str := '';
Symbol := sNone;

while (Ch = ' ') and not EoF(InFile) do
GetCh;


//Wir brauchen nichts machen, wenn das Dateiende erreicht ist
if EoF(InFile) then
Exit;

...


Falls das letzte Zeichen wird hier mittels des Grün-markiertem Code gelesen. Da nun aber das EoF (Rot) erreicht ist wird GetSym abgebrochen (in der test-Datei der Script-Sourcen bewirkt das Line-Break, das das EoF noch nicht erreicht ist, nachdem das Zeichen eingelesen wurde).

Tauscht man das Grüne und das Rote Statement aus klappt alles wunderbar.
Ist jetzt vlt. nicht weltbewegend, hat mich vorhin bloß geärgert weil ich nicht genau wusste wo der Fehler lag und ob ich iergendetwas wichtiges überlesen hab. (Sollte evtl. geändert werden)

_________________
--->ladida<---


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Aug 19, 2005 09:54 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Wenn der Schreiber des Tuts das bestätigen kann (was ich denke ;) ) dann wird das beim übertragen ins Wiki berichtigt.

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Aug 19, 2005 14:01 
Offline
DGL Member

Registriert: Do Mai 30, 2002 18:48
Beiträge: 1617
hupsi, das stimmt tatsächlich... da wird tatsächlich das letzte zeichen nicht gescanned. ich bin leider grad in meinen urlaubsvorbereitungen und schon fast weg, deswegen ist es grad aweng schlecht mit fehler ausbessern - ich denke ihr bekommt das ausgemerzt - ansonsten bin ich in 2 wochen wieder da, dann kann ich mich drum kümmern ;-)


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
Foren-Übersicht » DGL » Feedback


Wer ist online?

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


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.007s | 16 Queries | GZIP : On ]