Russian Qt Forum
Ноябрь 26, 2024, 04:58 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: engine.checkSyntax(scriptFileName) не работает  (Прочитано 1931 раз)
Владислав
Гость
« : Июнь 01, 2013, 15:02 »

Возвращает всегда QScriptSyntaxCheckResult::Error
никто не сталкивался с такой проблемой? это часом не баг

Метод проверки:

   QString scriptFileName(":/microcredit.js");
   QFile scriptFile(scriptFileName);
   if ( scriptFile.open(QIODevice::ReadOnly) )
   {
      engine.evaluate(scriptFile.readAll(), scriptFileName);
      scriptFile.close();
      int error = engine.uncaughtExceptionLineNumber();
      QScriptSyntaxCheckResult checkResult = engine.checkSyntax(scriptFileName);
      int tt= checkResult.errorColumnNumber ();
      int aa= checkResult.errorLineNumber ();
      if (checkResult.state() == QScriptSyntaxCheckResult::Error )
                {         
         emit signal_crash();
         return;
      }      
      emit signal_start();
   }

в microcredit.js только одна строка print('method ok');

причём  int error = engine.uncaughtExceptionLineNumber(); возвращает -1 (т.е. ошибок нет)
« Последнее редактирование: Июнь 01, 2013, 15:07 от Владислав » Записан
mutineer
Гость
« Ответ #1 : Июнь 01, 2013, 15:08 »

Цитировать
QScriptSyntaxCheckResult QScriptEngine::checkSyntax ( const QString & program ) [static]
Checks the syntax of the given program. Returns a QScriptSyntaxCheckResult object that contains the result of the check.

В него не имя файла передавать надо, а сам текст скрипта
Записан
Владислав
Гость
« Ответ #2 : Июнь 01, 2013, 18:46 »

Спасибо! Внимательности нет.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.124 секунд. Запросов: 20.