Ошибка JavaScript при использовании EncryptedLocalStore - PullRequest
1 голос
/ 13 сентября 2010

Я пытаюсь сделать свое первое приложение Adobe Air на основе JS.

Но я застрял в точке.

Вот код, вызывающий ошибку

  var RunUrl  =   'http://www.lilpirate.net';
  var firstRunUrl =   'http://www.netbloo.com';
  var snxApp   = air.EncryptedLocalStore.getItem( 'snxApp' );
  var semail   =   snxApp.readUTFBytes( snxApp.bytesAvailable );
  if( semail!='786') {
     data = new air.ByteArray();
     data.writeUTFBytes( '786' );
     air.EncryptedLocalStore.setItem( 'snxApp', data ); 
     var snxUrlToLoad    =   firstRunUrl;
  }
  else
     var snxUrlToLoad    =   RunUrl;  

При компиляции из adl выдает ошибку -

TypeError: Результат выражения 'snxApp' [null] не является объектом.

Помощь!

1 Ответ

0 голосов
/ 14 сентября 2010

Вы получаете доступ к свойствам (bytesAvailable и readUTFBytes) snxApp без проверки, чтобы убедиться, что они существуют первыми.Если вы еще не использовали setItem для хранения чего-либо с таким именем, это будет null.

Вот пример того, как это будет выглядеть с оператором if:

var snxApp = ...;
var semail;
if (snxApp !== null) {
    semail = snxApp.readUTFBytes( snxApp.bytesAvailable );
}
...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...