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