Здравствуйте, гость ( Вход | Регистрация )
straylon | Дата 12.2.2010, 11:30 |
Попробовал так: dynamicCall("SetDisplayAlerts(bool)", FALSE); // НЕ Выводить сообщения dynamicCall("Quit()"); процесс в памяти после выхода из программы не остается. В свое время, много работал с Excel в Builder. Был такой же эффект, как и у Вас. Если пользователь не выходя из программы несколько раз запускал отчет в Excel, то все процессы оставались в памяти даже после выхода из программы. После обсуждения этого явления на соответствующем форуме пришли к выводу, что это проблема Microsoft. Выход из положения был один: удалять процесс самому через API Windows. Wlad, а ты как это делаешь так - ui.axWidget->dynamicCall("SetDisplayAlerts(bool)", FALSE); ui.axWidget->dynamicCall("Quit()"); или так QAxObject* word = new QAxObject ("Word.Application"); word->dynamicCall("SetDisplayAlerts(bool)", FALSE); word->dynamicCall("Quit()"); Просто в первом случае не работает, а во втором работает. Но второй случай меня не устраивает, т.к. работа с Вордом ведется через ui.axWidget, а не через Word.Application, как отдельное от моей программы приложение Ворд. |
|
Wlad | Дата 11.2.2010, 14:07 |
Попробовал так: dynamicCall("SetDisplayAlerts(bool)", FALSE); // НЕ Выводить сообщения dynamicCall("Quit()"); процесс в памяти после выхода из программы не остается. В свое время, много работал с Excel в Builder. Был такой же эффект, как и у Вас. Если пользователь не выходя из программы несколько раз запускал отчет в Excel, то все процессы оставались в памяти даже после выхода из программы. После обсуждения этого явления на соответствующем форуме пришли к выводу, что это проблема Microsoft. Выход из положения был один: удалять процесс самому через API Windows. |
|
straylon | Дата 10.2.2010, 17:12 |
Здравствуйте! Использую компонент QAxWidget для отображения в главном окне своей программы документа Word. Делаю это стандартным способом: ui.axWidget->setControl("C:/1.doc"), где axWidget собственно сам QAxWidget, размещенный на окно в дизайнере. Все работает нормально, однако после закрытия программы, остается процесс WINWORD.EXE, который подгружает память компьютера пользователя. Как при выходе его можно программно останавить? Буду благодарен за любые советы и помощь. Вот код:
|
|
Просмотр темы полностью (откроется в новом окне) | |
Текстовая версия | Сейчас: 19.4.2024, 5:37 |