Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.02.12;
Скачать: CL | DM;

Вниз

Инициализация COM и получение доступа к объекту   Найти похожие ветки 

 
DenXi ©   (2006-01-25 01:43) [0]

Привет, мастера!
Пишу сервис, который иногда должен добавлять в Word текст.
Открывать и добавлять текст при помощи CreateOleObject не подходит, т.к. мне необходимо работать с Word только в том случае, если он уже открыт. С CreateOl...... не получается, т.к. он создает новый экземпляр приложения. Может, можно как-нить при помощи GetActiveOleObject?

И второе: почему у меня в ComObj нет CoInitialize и CoUnitialize, хотя CoInitializeEx есть? Может, не так делаю? Как правильно инициализировать библиотеки COM и чито для этого в uses писать?

Заранее благодарен :)))


 
Alex_V ©   (2006-01-25 04:36) [1]

а не проще использовать компоненты со страницы Servers там все есть для вашей задачи...


 
Набережных С. ©   (2006-01-25 07:17) [2]


> DenXi ©   (25.01.06 01:43)  


> Может, можно как-нить при помощи GetActiveOleObject

Чтобы эта функция работала для сервера, запущенного в отличной от клиента оконной станции, сервер при регистрации себя в таблице активных объектов должен предпринять дополнительные действия, которые Word не делает, если не ошибаюсь. До XP можно было перед вызовом подключить сервисный процесс к интерактивной оконной станции, но в WinXP это усугбляется тем, что у клиента и сервера разные терминальные сессии. Пути решения есть, но они не слишком простые, а так, как у меня такой необходимости не было, то я их и не проверял. Самый, пожалуй, простой - запустить дополнительное приложение в интерактивной сессии, которое получит интерфейс сервера и любым способом передаст его сервису.


 
DenXi ©   (2006-01-25 13:44) [3]


> Alex_V


мне эта вкладка не интересна, т.к. я учусь на WinAPI, что б потом в C++ можно было спок перенести (но все равно пасиб :))))


> Набережных С.

спасибо......

Но прошу обратить еще внимание на мою первую проблему.... В каком модуле ActiveX или ComObj все это??? Ни то, ни другое не пашет с CoUnitialize и CoInitialize - просто нет там этого и все!


 
DenXi ©   (2006-01-25 13:48) [4]


> первую проблему


точннее, вторую :)))


 
sniknik ©   (2006-01-25 13:56) [5]

описаны в ActiveX, только у тебя с написано неправильно (только сдесь?) первая функция.


 
DenXi ©   (2006-01-25 14:04) [6]

это опечатка, CoUninitialize..... Но дык и говорю: в мое делфе в ActiveX не пашет ни CoIni....., ни CoUin...... В чем дело - ума не приложу! Вообще там на Co...... функций и процедур даже нет!!!!!

И в чем это дело.......................


 
DenXi ©   (2006-01-25 14:15) [7]

А не...........  Пашет! Все, спасиб.  Всем пасиб! :))))))))))))


 
DenXi ©   (2006-01-25 14:18) [8]

А такой вопрос: если я работаю в потоке, сколько раз мне необходимо инициализировать COM? Один раз???? И если я его приостанавливаю, влияет ли это на COM, нужно ли мне снова потом все инициализировать?


 
Digitman ©   (2006-01-25 14:21) [9]


> Один раз


Да, один раз.
На весь период жизни потока.
Вне зависимости от того сколько раз за время своей жизни поток был усыплен и разбужден.


 
DenXi ©   (2006-01-25 14:22) [10]

спаибо!!!!


 
DenXi ©   (2006-01-25 14:37) [11]


> Набережных С.


Ну предположим, мой сервис создает экзэмпляр Word и время от времени работает с ним....... возникает другая проблема: когда пользоваетель закрывает этот экзэмпляр - новый не создается и происходит исключение.... а с этим че делать???


 
DenXi ©   (2006-01-25 15:38) [12]

так.... все, я сам разобрался.... дело в обработке исключений....



Страницы: 1 вся ветка

Текущий архив: 2006.02.12;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.039 c
4-1133507854
Чапаев
2005-12-02 10:17
2006.02.12
Непонятности с Service application & DLL


4-1133121307
sergey1
2005-11-27 22:55
2006.02.12
что нужно сделать чтобы DlgDirList выводил еще и файлы


2-1137969372
Mad_Bob
2006-01-23 01:36
2006.02.12
Одни и те же процедуры, а эффект разный


15-1137610651
Suicidical
2006-01-18 21:57
2006.02.12
Мастера дайте совет :)


2-1138099309
SergeyZ
2006-01-24 13:41
2006.02.12
Обновление пути в ярлыке.