![]() |
|
|
![]()
|
|
| Oberon83 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 158 Регистрация: 6.5.2005 Где: Республика Чуваши я Репутация: 1 Всего: 1 |
Проблема в том, что сервер Excel остается в памяти после завершения работы программы. Это смотрел, не помогает. То "Неизвестное имя", то просто "Ошибка". Использую Excel 2003.
C Excel работаю через OLEContainer, создаю OleObject следующим обазом:
Никак не получается правильно закрыть сервер Excel, после того как мое приложение завершит свою работу. Вот так изгаляться то же не очень охото. Помогите кто чем может. Заранее благодарен. --------------------
OpenArea.ru |
|||
|
||||
| Oberon83 |
|
||||||||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 158 Регистрация: 6.5.2005 Где: Республика Чуваши я Репутация: 1 Всего: 1 |
Наконец-то я решил свою проблему, спасибо за ответы
Сам контейнер я создаю как было описано выше так:
Логично было бы предположить, что вызвав метод
Далее провел эксперимент с переменными типа Variant, поскольку я их использую. В ходе эксперимента выяснилось, что если не "занулять" их, то при вызове
Далее выходе из своего приложения я присвоил всем переменным Variant значения NULL. НО никакого эффекта это не возымело, сервер как висел в памяти, так и оставался висеть.
Для работы с Excel формой я создал класс, который выполнял все нужные мне операции. В нем были объявлены 3 переменные типа Variant, которые передавались в класс из основного приложения. По своему накопленному опыту я в деструкторе класса поставил присвоение этим переменным NULL. Опять не помогло.
Далее нашел все переменные Variant в своем классе, которые использовались в функциях класса. Из своего первого учебника по программированию я знаю, что при выходе из функции все ресурсы, занятые ей, автоматически освобождаются, это относится и к локальным переменным функции. Так вот этого как раз почему-то не происходило, поскольку поставив присвоение всем локальным переменным функций NULL, приложение у меня нормально запустилось. 11.12.2006 - 15.12.2006 P.S.: Извиняйте за длинный рассказ - наболело, а так же за небольшой оффтоп. P.S.S.: Может кому-нибудь пригодится. --------------------
OpenArea.ru |
||||||||||
|
|||||||||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |