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

Вниз

Вопрос по OLE   Найти похожие ветки 

 
Тимохов ©   (2004-02-19 12:24) [0]

Есть такая функция CreateActiveOleObject, которая позволяет подключится к существующему серверу.
Шеф наконец заставил нас сделать нормальную работу с Excel.
Самы мы создаем объект Excel.Application через CreateOleObject. При этом делаем его невидимым и неинтерактивным. После работы показываем его на экране и отключаемся от него. При том, что мы закладываемся на то, что с рабочей кникой работаем только мы из программы. От пользователя мы защитились тем, что interactive := false. Теперь бы хотелось защититься от других программ, использующих CreateActiveOleObject.

Вопрос такой. Можно ли как-то заставить excel не давать подключаться к нему другим программам?


 
Тимохов ©   (2004-02-19 19:28) [1]

Прошу прощения, но up!


 
just me   (2004-02-19 19:39) [2]

Написать свой СОМ-сервер, который будет "подниматься" при попытке кого-либо "прицепиться" к excel и затем будет "пускать" кого нужно и пробрасывать остальных


 
Тимохов ©   (2004-02-19 19:41) [3]


> который будет "подниматься" при попытке кого-либо "прицепиться"
> к excel

Интересно, а это как? Разве так можно? Это типа комовского хука :))))
Единственно, что мне приходит в голову, это сделать свой объект с тем же id, что у excel. Что-то типа этого?


 
just me   (2004-02-20 15:37) [4]

Совершенно верно!


 
Тимохов ©   (2004-02-20 15:38) [5]


> just me (20.02.04 15:37) [4]
> Совершенно верно!

Интересно, как себя поведут другие программы (не мои) использующие ексел по оле:))))
И вообще, не уверен, что данный путь вообще реален.
Делал ли кто-нить так в действительности?


 
just me   (2004-02-20 16:16) [6]

Странно - сам пишешь "хотелось защититься от других программ, использующих CreateActiveOleObject", а теперь беспокоишься про "поведут другие программы (не мои) использующие ексел по оле"
Схоли на форум по СОМ на rsdn.ru, так зубры СОМ-а такое делают и советуют в примерно таких ситуауиях


 
Тимохов ©   (2004-02-20 16:35) [7]


> Странно - сам пишешь "хотелось защититься от других программ,
> использующих CreateActiveOleObject

Ничего странного - хотелось бы защиться, когда я с ним работаю, а когда вообще я его не касаюсь, то должно работать штатно.
Спасибо за совет о другом форуме - пойду туда.


 
Digitman ©   (2004-02-20 16:40) [8]

см. штатные механизмы делегации интерфейсных вызовов


 
Тимохов ©   (2004-02-20 16:43) [9]


> Digitman © (20.02.04 16:40) [8]

И Вам спасибо - пойду смотреть.


 
Бином Ньютоныч   (2004-02-21 11:38) [10]

>Тимохов ©

Можно вынести работу с сервером в специально созданную оконную станцию. Чтобы другому приложению подключиться к этому экземпляру сервера, ему придется переключиться на ту-же станцию, а этому нетрудно воспрепятствовать. Правда с визуализацией будут сложности, но и это решаемо.



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

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

Наверх




Память: 0.49 MB
Время: 0.017 c
1-6060
Drozdov A
2004-02-18 15:22
2004.03.03
If ....Then


11-6008
Кладов
2003-06-13 10:32
2004.03.03
Версия 1.75


11-6005
=Sniper=
2003-06-16 20:28
2004.03.03
Определение версии DitectX!


1-6048
maxXP
2004-02-19 02:04
2004.03.03
Как в ListBox определить количество элементов?


6-6175
Perf
2003-12-26 09:07
2004.03.03
Определение IP и поиск компов в локалке