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
----------------------------------------