Das OFFIZIELLE PROFAN SUPPORT FORUM
Einsteigerfragen
PROFAN-Programmierung
Helfer & Tools
Anregungen & Vorschläge
PROFAN-NEWS
Die Regeln!
4 - Anregungen & Vorschläge

 Neues Thema  |  Zur Übersicht  |  Suchen  |  Einloggen   Neuerer Beitrag  |  Älteres Thema 
 input #1,s$: Interpreter stürzt ab
Autor: Jens-Arne Reumschüssel (---.dip0.t-ipconnect.de)
Datum:   14.12.14 14:39

Hallo Roland,

im Interpreter ist ein Fehler bei input enthalten. Die Zeile input #1,s$ stürzt mit folgender Fehlermeldung ab:

"Exception EInOutError in Modul profan.exe bei 000B0B0F. E/A-Fehler 104."

Wenn man das Programm kompiliert, ist alles in Ordnung. Aktuell habe ich Lieferung 23, in 17 war der Fehler aber auch schon drin.

Gruß, Jens-Arne

Testcode:

declare s$
cls
assign #1,"test1.txt"
assign #2,"test2.txt"
reset #1
rewrite #2
input #1,s$ 'Absturz im Interpreter
print #2,s$
close #2
close #1
print "Fertig."
waitinput
end

Beitrag beantworten
 
 Re: input #1,s$: Interpreter stürzt ab
Autor: Heinz Brill (---.dip0.t-ipconnect.de)
Datum:   15.12.14 18:47

Fehler 104 kannst du bei IOResult nachlesen.
Vielleicht gerät XProfan mit den 2 Dateien
mit dem Handle durcheinander.
Probier mal die FUNKTION @ASSIGN(S).
Damit geht es :

Declare String Zeile
 Var String Daten = "Das ist ein Test !"
 Declare Int Handle1, Handle2
 
 Handle1 = @Assign($Progdir + "Testdaten.dat")
 Handle2 = @Assign($ProgDir + "Testdaten.txt")
 
 Reset #Handle1
 Rewrite #Handle2
 Input #Handle1, Zeile
 
 Print #Handle2, Zeile
 Close #Handle1
 Close #Handle2
 
 Print Zeile
 WaitKey
 
 End

Ich denke, daß es so auch besser ist, da man die Handles
(Handle1, Handle2 > 0) im fertigen Programm abfragen kann.

H.Brill
XProfan X4 + FreeProfan

Beitrag beantworten
 
 Re: input #1,s$: Interpreter stürzt ab
Autor: Jens-Arne Reumschüssel (---.dip0.t-ipconnect.de)
Datum:   15.12.14 22:15

Hallo Heinz,

danke für den Tipp! Ist so sicher zeitgemäßer, wie Du es machst, aber normalerweise brauche ich kein Handle, und da geht die alte Variante einfach schneller. Ich mag übrigens auch keine Variablen, denen man den Typ nicht ansieht, auch wenn ich es aus uralten Turbo Pascal-Zeiten ursprünglich mal so gewöhnt war.

Beste Grüße, Jens-Arne

Beitrag beantworten
 
 Re: input #1,s$: Interpreter stürzt ab
Autor: RGH (---.hsi8.kabel-badenwuerttemberg.de)
Datum:   16.12.14 17:12

Hallo,

allerdings sollte trotzdem die Version mit dem Befehl Assign auch funktionieren. Und ab der nächsten Version klappt es auch wieder. Danke für den Hinweis!

Gruß
Roland

Offizielle Homepage: http://www.xprofan.de
Der neue PROFAN-FAN-SHOP: http://www.spreadshirt.de/shop.php?sid=9330
Das kostenlose Kartenspiel: http://www.rgh-soft.de/sprace/sprace.htm

Beitrag beantworten
 
 Re: input #1,s$: Interpreter stürzt ab
Autor: Jens-Arne Reumschüssel (---.dip0.t-ipconnect.de)
Datum:   05.02.15 22:53

Hallo Roland,

Subskriptionslieferung 26:

Die Dateifunktionen sind immer noch nicht in Ordnung, und zwar auch die neuen mit einem Dateihandle statt z.B. #1 nicht. Der Interpreter scheint es jetzt zwar hinzubekommen, stürzt aber dafür bei Berechnungen mit quadints mit einer Division durch null ab; das übersetzte Programm hat aber immer noch den altbekannten (siehe mein alter post) Zugriffsfehler bei Dateioperationen, soweit ich das im Moment sehen kann, bevor es zu den vorgenannten Berechnungen überhaupt kommt. Ob also auch das übersetzte Programm den Rechenfehler hat, weiß ich im Moment nicht. Wenn Du nähere Informationen brauchst, werde ich versuchen, diese Sachen aus meinem Projekt zu extrahieren. (ja, brauchst Du, ich weiß :-), aber vielleicht hilft das hier ja auch schonmal ein bißchen). Das Programm läuft mit XProfan 12 übrigens in allen Belangen klaglos.

Gruß, Jens-Arne

Beitrag beantworten
 
 Re: input #1,s$: Interpreter stürzt ab
Autor: Heinz Brill (---.dip0.t-ipconnect.de)
Datum:   28.02.15 16:17

Hallo Roland,
 Declare String Pfad, Zeile
 Pfad = "C:\Temp\Examples\test.txt"
 Cls
 Assign #1, Pfad
 Reset #1
 WhileNot @Eof(#1)
    Input #1,Zeile
    Print Zeile
 EndWhile
 Close #1
 
 WaitKey
 End
 


Es ist zwar immer angebracht, %IOResult auszuwerten, aber
wenn man das mal vergißt, bleibt XProfan (Interpreter + Runtime)
kommentarlos, wenn die Datei im Pfad nicht existiert.
Hier könntest du noch eine ordentliche Fehlermeldung einbauen.

PS : Irgendwo bei %IOResult kommt Systemvariable %IOREULT
nicht bekannt. Ist nur ein Schreibfehler und müßte ' %IORESULT '
heißen.
Vielleicht könntest du aber auch dein System etwas umstellen, damit
man die Tabelle von %IOResult besser auswerten könnte. Da %IOResult
beim Auslesen gleich auf 0 gesetzt wird kann man ja nur gleich abfragen :

 Declare String Pfad, Zeile
 Pfad = "C:\\Temp\\Examples\\test.txt"
 Cls
 Assign #1, Pfad
 Reset #1
 Select %IOResult
    CaseOf 2
      Print "Datei nicht gefunden !"
    CaseOf 3 
      Print "Pfad nicht gefunden !"
    CaseOf 5
      Print "Datei ist READ ONLY !"
    CaseOf 0
      WhileNot @Eof(#1)
       Input #1,Zeile
       Print Zeile
      EndWhile
      Close #1
 EndSelect
 WaitKey
 End

Wäre da auch sowas möglich ?
 If %IOResult <> 0
    Print $IOResult
    ' enthält z.B. : "Datei nicht gefunden" (je nach Eintrag in Tabelle %IOResult)
    ' bei 2 oder 3, daß du den falschen Pfad oder die falsche Datei noch mit ausgibst
 Else
    ' alles in Ordnung
 EndIf
 


Das fände ich etwas kürzer und praktischer, wenn man sowas zusätzlich
hätte.

H.Brill
XProfan X4 + FreeProfan

Nachricht bearbeitet (28.02.15 16:28)

Beitrag beantworten
 
 Re: input #1,s$: Interpreter stürzt ab
Autor: Jörg Sellmeyer (---.dip0.t-ipconnect.de)
Datum:   28.02.15 21:42

Warum speicherst du es nicht zur Abfrage in einer Variablen? Da behältst du den Wert und Roland muss XProfan nicht assoziatives Programmieren beibringen :-)

_____________________________________
Man sollte seiner Zeit nicht zu weit voraus sein

Beitrag beantworten
 
 Re: input #1,s$: Interpreter stürzt ab
Autor: RGH (---.hsi8.kabel-badenwuerttemberg.de)
Datum:   16.03.15 18:59

Hallo Jens, immer noch keine Zeit für ein Beispiel gefunden?

Ich kann mit Deiner Beschreibung leider nichts anfangen, da Du nicht erwähnst, in welchen Situationen es genau zu Fehlern kommt. Da ich langsam zum Ende mit XProfan X3 kommen möchte, wäre jetzt ein guter Zeitpunkt, noch verbleibende Fehler zu melden. Bei mit läuft alles.

Gruß
Roland

Offizielle Homepage: http://www.xprofan.de
Der neue PROFAN-FAN-SHOP: http://www.spreadshirt.de/shop.php?sid=9330
Das kostenlose Kartenspiel: http://www.rgh-soft.de/sprace/sprace.htm

Beitrag beantworten
 
 Re: input #1,s$: Interpreter stürzt ab
Autor: Jens-Arne Reumschüssel (---.dip0.t-ipconnect.de)
Datum:   18.03.15 20:58

Hallo Roland,

ich habe erstmal festgestellt, daß mit Quadints doch alles ok ist, die Division durch null beruhte auf einem Problem bei den Dateioperationen. Hier das Testprogramm für letztere:

 'Testprogramm Dateizugriffe mit Subskriptionsversion X13.26
 
 def %absturztest 1
 
 declare s$,fh%,b#,bytesread%
 
 cls
 
 print "1. Teil des Tests (mit \qassign #1\q geöffnet:):\n"
 assign #1,"test.txt"
 rewrite #1
 print #1,"Test"
 close #1
 
 reset #1
 print "jetzt kommt \qinput #1,s$\q --> funktioniert (Taste drücken für weiter)"
 waitinput
 input #1,s$ 'funktioniert
 print "s$="+s$
 close #1
 
 print "\nblockread:"
 dim b#,1000
 openrw #1
 bytesread%=@blockread(#1,b#,0,1000)
 print "bytesread%="+@str$(bytesread%)+" (sollte natürlich >0 sein!)"
 close #1
 dispose b#
 
 print "\n\n\n2. Teil des Tests (mit \q@assign(fh%)\q geöffnet):\n"
 fh%=@assign("test.txt")
 if %absturztest
   reset fh%
   print "jetzt kommt \qinput #1,s$\q --> Absturz (Taste drücken für weiter)"
   waitinput
   input #1, s$ 'Absturz im Interpreter und im kompilierten Programm
   print "s$="+s$+"\n"
   close fh%
 endif
 
 print "blockread:"
 dim b#,1000
 openrw fh%
 bytesread%=@blockread(fh%,b#,0,1000)
 print "bytesread%="+@str$(bytesread%)+" (sollte natürlich >0 sein!)"
 close fh%
 dispose b#
 
 waitinput
 end
 


Viele Grüße, Jens-Arne



Beitrag beantworten
 
 Re: input #1,s$: Interpreter stürzt ab
Autor: RGH (---.hsi8.kabel-badenwuerttemberg.de)
Datum:   19.03.15 16:49

Jens-Arne, vielen Dank für den Beispiel-Code!

Zum Absturz beim INPUT: Wenn die Datei mit "Reset fh%" geöffnet wurde, dann muss sie auch mit "Input #fh%" gelesen werden. Die Datei mit dem Handle #1 ist zu diesem Zeitpunkt ja geschlossen.
Ok, ein Absturz wäre nicht nötig gewesen. Eine Fehlermeldung hätte es auch getan. Die habe ich jetzt eingebaut.

Beim BlockRead hat sich tatsächlich beim Einführen der neuen alternativen Syntax ein Fehler eingeschlichen, so dass die ursprüngliche Syntax nicht mehr funktionierte.
Auch das ist in der nächsten Subscriptionslieferung (noch vor dem Wochenende) korrigiert.

Gruß
Roland

Offizielle Homepage: http://www.xprofan.de
Der neue PROFAN-FAN-SHOP: http://www.spreadshirt.de/shop.php?sid=9330
Das kostenlose Kartenspiel: http://www.rgh-soft.de/sprace/sprace.htm

Beitrag beantworten
 
 Input VAR stürzt ab
Autor: Karl-Jürgen Hilger (---.adsl.hansenet.de)
Datum:   22.03.15 16:18

Hallo,

ich nutze diesen Thread einfach mal, um ein anderes "Input"- Problem zu melden.
"Input VAR" stürzt unter X3 Lieferung 27 nach ENTER ab.
(Exception EInOutError in Modul profan.exe .... E/A-Fehler .....), (unter Win7/64)
Ich nutze den Textmodus zwar kaum, aber wer weiß schon, was für Implikationen mit diesem Fehler einhergehen...

Beispiele:

Declare a$
CLS
Input a$
WaitInput

oder das Programm aus der Hilfe >12.1 - Der "Textmodus"<.

Gruß
KJ



Beitrag beantworten
 
 Re: Input VAR stürzt ab
Autor: Heinz Brill (---.customers.d1-online.com)
Datum:   23.03.15 15:56

Kann ich auch bestätigen.

H.Brill
XProfan X4 + FreeProfan

Beitrag beantworten
 
 Re: Input VAR stürzt ab
Autor: RGH (---.hsi.kabel-badenwuerttemberg.de)
Datum:   24.03.15 01:17

Ich ebenso!

In der nächsten Version geht es wieder! Danke für den Hinweis.

Gruß
Roland

Offizielle Homepage: http://www.xprofan.de
Der neue PROFAN-FAN-SHOP: http://www.spreadshirt.de/shop.php?sid=9330
Das kostenlose Kartenspiel: http://www.rgh-soft.de/sprace/sprace.htm

Beitrag beantworten
 Foren-Liste  |  Baumstruktur   Neuerer Beitrag  |  Älteres Thema 


 Foren-Liste  |  Zur Registrierung 
 Benutzerlogin
 Benutzername:
 Passwort:
 Login-Daten speichern:
   
 Passwort vergessen?
E-Mail-Adresse oder Username unten eingeben. Dann wird Dir per e-Mail ein neues Passwort zugeschickt.

phorum.org