Uruchamianie GUI Qt z biblioteki DLL (w funkcji DLLStart)
Muszę uruchomić GUI Qt z eksponowania biblioteki DLLDLLStart
iDLLStop
. Normalne (.exe) podejście główne jest następujące:
int main(int argc, char *argv[]) {
QApplication a(argc, argv); Dialog w;
w.show();
return a.exec();
}
Problem polega na blokowaniua.exec()
zadzwonić, ponieważ w dllDLLStart
musi natychmiast wrócić (patrz poniżej). Jakiekolwiek obejście tego problemu? Uwaga: pytanie dotyczy dzielenia się wspólną płaszczyzną z „Dodawanie GUI Qt do biblioteki dynamicznej „, ale to nie jest dokładny duplikat.
/** start module */
int __stdcall DLLStart(void) {
..
QApplication qaDll(ac, av); Dialog w;
w.show();
qaDll.exec();
return 0; // never reached
}
/** stop module */
void __stdcall DLLStop(void) { }