0

我想像这样调用QNetworkReply::readAllFoo()一旦它完成,另一个时候应该调用它。

    QString Foo (QString& requestUrl)
    {
       QNetworkReply *pReply = NetManager::getManager()->get(requestUrl,NULL,NULL);
       QEventLoop loop;
       QObject::connect(pReply,SIGNAL(finished()),&loop,SLOT(quit()));
       loop.exec();
       return pReply->readAll();
   }

我想要这个,因为我的 Qt Gui 应用程序与0xC00000FD: Stack overflow exception. 在调用堆栈中,我重复调用了如下调用堆栈所示的函数。

我不明白尽管使用QEventLoop调用readAll()同步,递归是如何可能的。

用户使用我的 Gui 应用程序来单击和启动readAll().

有没有办法防止崩溃?

MyUtility.dll!Class::Function(l) Line abc   C++
Qt5Core.dll!0000000052b0991c()  Unknown
Qt5Widgets.dll!0000000056ff9d9a()   Unknown
Qt5Widgets.dll!0000000056ffb4ff()   Unknown
Qt5Widgets.dll!00000000570e8c57()   Unknown
Qt5Core.dll!0000000052aeb905()  Unknown
Qt5Widgets.dll!0000000056fd4ff2()   Unknown
Qt5Widgets.dll!0000000056fd35a6()   Unknown
Qt5Core.dll!0000000052ae9aea()  Unknown
Qt5Widgets.dll!0000000057021e95()   Unknown
Qt5Widgets.dll!00000000570204ee()   Unknown
Qt5Widgets.dll!0000000056fd5006()   Unknown
Qt5Widgets.dll!0000000056fd4623()   Unknown
Qt5Core.dll!0000000052ae9aea()  Unknown
Qt5Gui.dll!000007fededd3c52()   Unknown
Qt5Gui.dll!000007fededd5f67()   Unknown
Qt5Gui.dll!000007fededc379e()   Unknown
Qt5Core.dll!0000000052b2e6c5()  Unknown
user32.dll!UserCallWinProcCheckWow()    Unknown
user32.dll!DispatchMessageWorker()  Unknown
Qt5Core.dll!0000000052b2ddfc()  Unknown
qwindows.dll!000007fedd1df491() Unknown
Qt5Core.dll!0000000052ae6c61()  Unknown
MyUtility.dll!Class::Function(l) Line abc   C++
Qt5Core.dll!0000000052b0991c()  Unknown
Qt5Widgets.dll!0000000056ff9d9a()   Unknown
Qt5Widgets.dll!0000000056ffb4ff()   Unknown
Qt5Widgets.dll!00000000570e8c57()   Unknown
Qt5Core.dll!0000000052aeb905()  Unknown
Qt5Widgets.dll!0000000056fd4ff2()   Unknown
Qt5Widgets.dll!0000000056fd35a6()   Unknown
Qt5Core.dll!0000000052ae9aea()  Unknown
Qt5Widgets.dll!0000000057021e95()   Unknown
Qt5Widgets.dll!00000000570204ee()   Unknown
Qt5Widgets.dll!0000000056fd5006()   Unknown
Qt5Widgets.dll!0000000056fd4623()   Unknown
Qt5Core.dll!0000000052ae9aea()  Unknown
Qt5Gui.dll!000007fededd3c52()   Unknown
Qt5Gui.dll!000007fededd5f67()   Unknown
Qt5Gui.dll!000007fededc379e()   Unknown
Qt5Core.dll!0000000052b2e6c5()  Unknown
user32.dll!UserCallWinProcCheckWow()    Unknown
user32.dll!DispatchMessageWorker()  Unknown
Qt5Core.dll!0000000052b2ddfc()  Unknown
qwindows.dll!000007fedd1df491() Unknown
Qt5Core.dll!0000000052ae6c61()  Unknown
Qt5Core.dll!0000000052ae8d39()  Unknown
MyUtility.exe!main(int argc, char * * argv) Line abc    C++
MyUtility.exe!WinMain() C++
4

0 回答 0