Am 16.05.2010 um 16:56 schrieb Christian Hahn:

> Hallo, ich stelle gerade meine Programm von RB2007r2 auf RB2010r2 für Windows 
> um.
> U.a. muss ich eine Standard-Funktion zum Einlesen einfacher txt-Dateien 
> umbauen. Aber während es in einem eigenen Test-Programm gut läuft, kommt es 
> in einem anderen Programm zu einem IOFehler. Ich kann nicht erkennen, dass in 
> den Programmen Unterschiede vorliegen, oder habe ich doch etwas übersehen?
> Gruß, Christian Hahn.
> 
> Function TxtDateiLaden(optional DateiName as String) As String
> 
>  Dim f As FolderItem
>  Dim t As TextInputStream
>  Dim GesamtText as String
> 
>  if DateiName >"" then
>    f=GetFolderItem (DateiName) 
>  else
>    f=GetOpenFolderItem("text") 
>  end if
> 
>  If f <> Nil then
>    t=TextInputStream.Open(f) // hier bleibt das Programm mit IOExeption stehen
>    t.Encoding=Encodings.WindowsANSI
>    GesamtText = t.ReadAll
>    t.Close
>    Return GesamtText
>  End if
> 
> End Function


Du solltest prüfen, ob die Datei auch wirklich existiert, 'f <> nil' reicht da 
nicht. Guck mal, ob die FolderItem-Properties .Exists, .IsReadable und 
.LastErrorCode Dir mehr über die Datei verraten, bevor Du versuchst sie zu 
öffnen.

Gruß
Christian

----------------------------------------
Christian Dorn
realbasic {a} online.de

REALbasic 2009r5 Studio

iMac 3.06 GHz Intel Core 2 Duo, 4 GB RAM
PowerMac G5 2x2GHz, 1.5 GB RAM
Mac OS X 10.6.3
----------------------------------------











Antwort per Email an