Einsteigerfragen zur PROFAN Programmierung
  Suchen
 Zurück zur Übersicht
 AutorThema: DISPOSE
Maik
Datum:17.06.02 14:59 Antwortenals Email verschicken (maik.ehmann@peterhahn.de) 


Hallo,

ich versuche eine Datei mit dem BlockRead Befehl zu lesen, da die zu lesende Datei keine Zeiletrennzeichen (CRLF) enthält.

Ich habe mir zuerst ein Testprogramm erstellt, das ich im Interpretermodus ausführe.

Leider bekomme ich bei jedem Dispose einen "Anwendungsfehler".
"Exception EAccessViolation im Modul PROFAN.EXE bei ... ".

Für den Dispose habe ich folgendes angegeben:

Declare ReadDat1#
Dim ReadDat1#,500
Dispose ReadDat1#

Habe ich da ein Fehler oder verständisproblem, da die Hilfe hier nicht ganz klar ist ?

Gruß

Maik


Maik
Datum: 17.06.02 15:29 Antwortenals Email verschicken (maik.ehmann@peterhahn.de) 


Hallo,

sorry für den vorschnellen Eintrag in der Mailingliste, ich hatte einen Fehler in meinem Programm.

Der Dispose Befehl arbeitet einwandfrei.

Für alle, die Probleme mit dem Dispose oder überhaupt beim binären Lesen von Dateien haben, hier kleines Beispiel. Eine Datei wird binär gelesen und der Inhalt auf dem Bildschirm ausgegeben.

Declare ReadFile6#,ReadBytes&,ReadCheck%
Dim ReadFile6#,500
Assign #6,"C:\Jobs\EDIFConv\Sourcen\PHDaten.dat"
OpenRW #6
'ReadCheck = Prüfvariable ob 500 Bytes gelesen wurden
Let ReadCheck% = 0
WhileNot ReadCheck%
Let ReadBytes& = @BlockRead(#6,ReadFile6#,0,500)
Print ReadBytes&
Print @Char$(ReadFile6#,1,200)
Dispose ReadFile6#
Dim ReadFile6#,500
'Wenn ReadBytes kleiner 500 ist das Dateiende erreicht oder
'an Fehler beim Öffnen der Datei ist aufgetreten.
If @Lt(ReadBytes&,500)
Let ReadCheck% = 1
EndIf
Wend
CloseRW #6
Waitkey

Gruß

Maik


 Zurück zur Übersicht
 

 Ein kostenloses WebMart Forum
WebMart Homepage Tools kostenlos
doteu.info: Don´t miss your .eu-Domain