2010-10-07 6 views
1

J'ai une application Mac RB qui se bloque lorsque j'écris une ligne à un TextOutputStream sur les préférences de l'utilisateur. L'opération d'écriture fonctionne très bien lorsque l'utilisateur est l'administrateur, mais tout autre utilisateur se bloque. Cela m'a fait penser que c'est un problème de permission, alors j'ai essayé de changer la permission, sans chance.L'application RealBasic se bloque sur writeline

L'erreur est: « Une exception de NilObjectException de classe n'a pas été traitée L'opération doit fermer. »

Toute aide de votre part des gens extraordinaires seraient grandement appréciés. Merci!

Voici le code:

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 

Répondre

1

Vous ne mentionnez pas quelle version de RB que vous utilisez, mais pour une version raisonnablement actuelle, la syntaxe que vous devez utiliser est:

fileStream = TextOutputStream.Create(File) 

que vous devriez envelopper dans un try/catch pour obtenir ceci:

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

e.ErrorNumber contiendra un OS- code d'erreur spécifique pour vous aider à identifier le problème.

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

+0

Merci! Mettra en œuvre dès retour de vacances :-) –