Re[2]: Не работает dll с QScriptEngine
От: Вульфович Филипп  
Дата: 07.03.13 10:10
Оценка:
переделал dll, учел рекомендации не давать QCoreApplication
константных значений,
кроме того теперь приложение
сначала вызывает

Init() — создание QCoreApplication, потом RunScript() —
основной метод, потом Cleanup() — очитка

Dll рушится в момент выполнения RunScript() в процессе создания
QScriptEngine

Invalid floating point operation


static QCoreApplication* pApp = 0;
static int argc = 0;
static char* argv[1];

extern "C" __declspec(dllexport) bool Init()
{
    argc = 0;
    *argv = "";
    pApp = new QCoreApplication(argc, argv);
    logtime("init done.");
    return true;
}

extern "C" __declspec(dllexport) bool Cleanup()
{
  delete pApp;
  logtime("cleanup done.");
  return true;
}


extern "C" __declspec(dllexport) bool RunScript(char * aDefaultDir, char * aFileName)
{
    logtime("processing events");
    pApp->processEvents();
    logtime("processed");
    logtime("creating script engine...");
    QScriptEngine * eng = new QScriptEngine(pApp);

    return TRUE;
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.