Hallo Tobias, vielen Dank für deinen Hinweis! Es gibt genau den Fehler 104 "File in Use", deshalb klappt der an für sich tolle Trick von Metti auch nicht, die alte Datei umzubenennen und dann zu löschen (denn sie ist eben angeblich noch geöffnet).
Doch was könnte man jetzt dagegen machen? Mit Spotlight anbandeln (das Programm soll nämlich für Mac OS X sein)? Schöne Grüße, Johannes -------- Original-Nachricht -------- > Datum: Mon, 7 Apr 2008 13:30:43 +0200 > Von: "Tobias Bußmann" <[EMAIL PROTECTED]> > An: "REALbasic NUG German" <[email protected]> > Betreff: Re: Wie speicher ich eine zuvor geöffnete Datei? > Hallo, > > gab es da nicht mal was, dass sich Spotlight per FS-Event an das > Schliessen > einer Datei ranhängt und diese dann direkt indiziert? Somit gäbe es zum > Zeitpunkt SaveDoc.CreateTextFile ein Lock auf die Datei. Prüfe das mal > indem > du dir anschließend SaveDoc.LastErrorCode anschaust. Wenn da was mit 104: > File in Use rauskommt dürfte das der Grund sein. Ich gehe hier natürlich > von > OS X aus - aber ich glaube unter Windows gibt es auch einen 'Indexdienst' > und vorallem eine Unmenge von Virenscannern o.ä. die ein ähnliches > Verhalten > zeigen. > > Gruß > Tobias > > Johannes Ungerer <[EMAIL PROTECTED]> wrote: > > Hallo, > > > > eigentlich dachte ich, dass das folgende Problem keines ist, aber ich > > schaffe es einfach nicht, den Fehler zu finden... > > > > Also: Ich öffne eine Textdatei, ändere den ausgelesenen Inhalt und > > möchte ihn nun in die gleiche (bereits wieder geschlossene) Textdatei > > schreiben. Beim Schreiben erhalte ich allerdings ein > > "NilObjectException", weil "oustream" nicht erzeugt werden kann. Wie, > > was, wo, warum denn das? Was ist falsch? > > > > Hier ist der Quelltext: > > > > Sub Action() > > Dim inhalt as String > > > > Dim OpenDoc as New FolderItem > > Dim SaveDoc as New FolderItem > > > > Dim instream as TextInputStream > > Dim oustream as TextOutputStream > > > > OpenDoc=GetOpenFolderItem("text") > > instream=OpenDoc.OpenAsTextFile > > inhalt=instream.ReadAll > > instream.Close > > > > inhalt=inhalt + "Testtext" > > > > SaveDoc=OpenDoc > > oustream=SaveDoc.CreateTextFile > > '--> oustream=Nil, denn es wird nicht erzeugt (Warum?) > > oustream.Write inhalt > > '--> Laufzeit-Fehlermeldung: NilObjectException > > oustream.Close > > End Sub > > > > > > Am FileType "text" kann's nicht liegen, der ist wirklich absolut > > richtig eingestellt. > > > > Schönen Gruß und vielen Dank schon mal für's Fehlerfinden, > > Johannes -- Der GMX SmartSurfer hilft bis zu 70% Ihrer Onlinekosten zu sparen! Ideal für Modem und ISDN: http://www.gmx.net/de/go/smartsurfer
