Главная страница
    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.47 MB
Время: 0.036 c
1-1136974706
Barsky
2006-01-11 13:18
2006.02.12
Скрол (мышыный) в гриде


2-1138213657
Glex
2006-01-25 21:27
2006.02.12
FormStyle:= fsStayOnTop - работает только для MainForm(((


15-1137501913
Yegorchic
2006-01-17 15:45
2006.02.12
Сотовый с ИК-портом...


2-1138258439
ANB
2006-01-26 09:53
2006.02.12
Как динамически подключить процедуру из bpl ?


5-1124276865
Andrushk
2005-08-17 15:07
2006.02.12
Сохранение поля типа TObjectList





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский