переделал 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;
}