Приложение RealBasic вылетает при записи - PullRequest
1 голос
/ 08 октября 2010

У меня есть приложение Mac RB, которое вылетает, когда я записываю строку в TextOutputStream по предпочтениям пользователя. Операция записи отлично работает, когда пользователь является администратором, но любой другой пользователь падает. Это заставило меня думать, что это проблема с разрешениями, поэтому я попытался изменить разрешение без удачи.

Ошибка: «Исключение класса NilObjectException не было обработано. Операция должна завершиться»

Любая помощь от вас, удивительные люди, будет принята с благодарностью. Спасибо!

Вот код:

Dim TableString as String
Dim fileStream As TextOutputStream
Dim File as FolderItem

File = SpecialFolder.SharedPreferences.Child("FileName.txt") 

TableString = TranslationTableToString

fileStream=File.CreateTextFile

// This didn't help:
//File.permissions= &o777

// This line Breaks:
fileStream.WriteLine TableString

1 Ответ

1 голос
/ 08 октября 2010

Вы не упоминаете, какую версию RB вы используете, но для любой разумно текущей версии синтаксис, который вы должны использовать:

fileStream = TextOutputStream.Create(File)

Который вы должны завернуть в Try / Catch, чтобы получить:

Try
  fileStream = TextOutputStream.Create(File)
  fileStream.WriteLine(TableString)
Catch e As IOException
  MsgBox("Error Code: " + Str(e.ErrorNumber))
End Try

e.ErrorNumber будет содержать специфичный для ОС код ошибки, чтобы помочь вам точно определить проблему.

http://docs.realsoftware.com/index.php/IOException

...