![]() |
|
|
![]()
|
|
| Peter |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 771 Регистрация: 28.7.2003 Где: Ставрополь Репутация: нет Всего: 1 |
Есть объект COM, написанный на C#.
Компилирую и регистрирую с помощью regasm с ключом /codebase. В OpenOffice.org создаю макрос
Запускаю. На экране появляется окошко класса frConversion (см. код на C#). Делаю, что нужно, и закрываю это окно. Exe-шник COM-объекта блокируется программой OpenOffice.org! Почему? Запускаю vb-скрипт второй раз. На экране вместо окошка класса frConversion появляется сообщение о необработанном исключении: "До создания первого объекта IWin32Window в приложении необходимо вызвать SetCompatibleTextRenderingDefault". Выгружаю OOo, запускаю опять, вызываю тот же скрипт - работает. Вызываю вторично - опять та же ошибка. В чем может быть дело? Это сообщение отредактировал(а) Peter - 7.3.2012, 12:38 -------------------- всё, что делаете, делайте от души, как для Господа (Послание апостола Павла колоссянам, 3:23). |
||||
|
|||||
| Peter |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 771 Регистрация: 28.7.2003 Где: Ставрополь Репутация: нет Всего: 1 |
Решено!
Читаем MSDN.
Значит, если процесс висит в памяти, одно окошко уже было показано, так что второй вызов SetCompatibleTextRenderingDefault() приводит к выбросу исключения. -------------------- всё, что делаете, делайте от души, как для Господа (Послание апостола Павла колоссянам, 3:23). |
||||
|
|||||
| Peter |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 771 Регистрация: 28.7.2003 Где: Ставрополь Репутация: нет Всего: 1 |
Еще хитрая штука: нельзя в компоненте было писать
OpenOffice.org от этого не страдает, а вот Excel, например, страдает: при закрытии окошка, принадлежащего компоненту, закрывается и сам Excel. Надо было так:
Это сообщение отредактировал(а) Peter - 8.3.2012, 15:43 -------------------- всё, что делаете, делайте от души, как для Господа (Послание апостола Павла колоссянам, 3:23). |
||||
|
|||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: COM/DCOM/ActiveX/ATL/CORBA | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |