Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Word
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.09.2010, 13:23   #1
beda
Пользователь
 
Регистрация: 07.04.2010
Сообщений: 22
По умолчанию Hабота с GetActiveObject

Здравствуйте. Подскажите, пожалуйста, как можно “залочить“ ссылку на Application, полученную следующим кодом:
m_Application.GetActiveObject(appli cationName));?
Под “залочить“ я подразумеваю запретить выгружаться WINWORD до окончания работы с ним.
Вот более подробно о проблеме.
Последовательность действий:
1. Вне моей программы:
//Пользователь открыл word документ "some.doc"
2. Старт моей программы:
const wchar_t* applicationName = L"Word.Application";
if (FAILED(m_Application.GetActiveObje ct(applicationName)))
{
if (FAILED(m_ Application. CreateInstance (applicationName)))
return false;
}
3. Моя программа: // Что то делаем c word с помощью Application (все без ошибок)
4. Вне моей программы:
//Пользователь закрыл word документ "some.doc"
5. Моя программа: // Что то делаем c word с помощью Application (ошибка: "The server threw an exception.." )

Подскажите как избежать такой ситуации? Желательно не прибегая к созданию нового соединения с помощью CreateInstance.

Последний раз редактировалось beda; 28.09.2010 в 16:19.
beda вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц