Переключение на Главную Страницу Страницы: [1] 2  ОтправитьПечать
Горячая тема (более 10 ответов) Microsoft Outlook View Control в 8.2 (число прочтений - 5832 )
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Microsoft Outlook View Control в 8.2
17. Апреля 2012 :: 06:49
Печать  
Работал ли кто-нибудь с этим АктивИкс'ом в 8.2?
Если его просто положить на форму-ничего не отображается.
В 7.7 все работает нормально.

ЗЫ:В поле HTML документа-тоже работает нормально.
  
Наверх
 
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: Microsoft Outlook View Control в 8.2
Ответ #1 - 17. Апреля 2012 :: 11:44
Печать  
Пока сделал через полеHTMLдокумента.

А как растянуть тег <object>, при рястяжении формы и соответственно поляHTMLдокумента?
  
Наверх
 
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: Microsoft Outlook View Control в 8.2
Ответ #2 - 17. Апреля 2012 :: 13:12
Печать  
Разобрался
  
Наверх
 
IP записан
 
leshik
1c++ donor
Отсутствует



Сообщений: 820
Местоположение: Пятигорск
Зарегистрирован: 22. Апреля 2007
Пол: Мужской
Re: Microsoft Outlook View Control в 8.2
Ответ #3 - 18. Апреля 2012 :: 06:57
Печать  
chessman писал(а) 17. Апреля 2012 :: 13:12:
Разобрался

А что было - расскажешь?
  
Наверх
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: Microsoft Outlook View Control в 8.2
Ответ #4 - 18. Апреля 2012 :: 14:30
Печать  
leshik писал(а) 18. Апреля 2012 :: 06:57:
chessman писал(а) 17. Апреля 2012 :: 13:12:
Разобрался

А что было - расскажешь?



Я имел ввиду, что разобрался с
Цитата:
А как растянуть тег <object>, при рястяжении формы и соответственно поляHTMLдокумента?
  
Наверх
 
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: Microsoft Outlook View Control в 8.2
Ответ #5 - 02. Мая 2012 :: 19:57
Печать  
Решил зайти со стороны 7.7 + WebBrowser. Тут, та же самая проблема, что и в 8.2: свойство Selection не доступно. 

Путем изучения АктивИкса под IDой, проблему удалось решить в 7.7. Причина найдена.

Думаю, что на 8.2 должно взлететь.
  
Наверх
 
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: Microsoft Outlook View Control в 8.2
Ответ #6 - 04. Мая 2012 :: 15:49
Печать  
Выкладываю обработку, вдруг кому пригодится.

Не удалось пока создать универсальное решение - не нашел, каким образом получить один из интерфейсов активикса 'Webrowser', поэтому пока сделал через абсолютное смещение.

Причина, почему у активИкса Microsoft Outlook View Control не доступно свойство Selection, заключается в том, что последний проверяет, у контейнера, в котором он находится,
поддержку интерфейса IID_IHTMLDocument2, и если он поддерживается, то требует поддержки другого интерфейса - IObjectModelAccess {00067276-0000-0000-C000-000000000046}.
Это, объясняет, почему на обычной 1С-й форме АктивИкс нормально работает - там 1-й интерфейс не поддерживается.

В случае с браузером, я перехватываю у Webrowser'а функцию IOleContainer::QueryInterface, возвращая E_NOINTERFACE, при запросе IID_IHTMLDocument2.
  

Outlook.zip ( 7 KB | Загрузки )
Наверх
 
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: Microsoft Outlook View Control в 8.2
Ответ #7 - 05. Мая 2012 :: 14:47
Печать  
Вот более универсальный вариант.
Здесь устанавливаются 2 перехвата.

Идея такая: при открытии формы, запускаем скрипт, в котором: вызываем DllGetClassObject, создаем фабрику классов, создаем объект ViewControl'а, запрашиваем у последнего интерфейс IOleObject, перехватываем IOleObject::SetClientSite.
Далее, при открытии формы, управление заведомо попадет, в перехваченную функцию, где мы получаем исковый объект. Здесь же устанавливаем перехват, как в предыдущем посте и убираем перехват с IOleObject::SetClientSite.
  

Outlook_v4.zip ( 7 KB | Загрузки )
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: Microsoft Outlook View Control в 8.2
Ответ #8 - 05. Мая 2012 :: 17:08
Печать  
Попробовал ради интереса - ошибка при вызове ф-ции "Hook"..
  
Наверх
 
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: Microsoft Outlook View Control в 8.2
Ответ #9 - 05. Мая 2012 :: 17:48
Печать  
CaBaT писал(а) 05. Мая 2012 :: 17:08:
Попробовал ради интереса - ошибка при вызове ф-ции "Hook"..


и все? подробности есть какие-нить?
  
Наверх
 
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: Microsoft Outlook View Control в 8.2
Ответ #10 - 06. Мая 2012 :: 11:50
Печать  
Попробовал дома на WinXP, действительно не работает.
Оказывается я не учел, что для разных версий Аутлука, CLSID у АктивИкса отличается. Я почему-то был уверен, что он будет одинаковый. Во вложении исправленный вариант для 2003 офиса.
Если и этот не взлетит, то нужно просто исправить в 2-х местах CLSID, в соответствии со своим офисом.

ЗЫ: обратил внимание, на то, что контекст 1C-й формы в браузер не передается, т.е. туда прилетает пустой объект. Не знаю, с чем это связано -  на Win 7 все ОК. И порядок событий на win XP, тоже не  такой, как на Win 7.
Сам перехват, отрабатывает верно в обеих версиях.

То CaBaT: офф - помнишь ты спрашивал, на счет вылезающего окна, при работе скрипта, что типа скрипт "простаивает"? ( не помню точную формулировку). Эту проблему давно решил, нужно свойство TimeOut установить в -1.
  

Outlook_v41.ZIP ( 7 KB | Загрузки )
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: Microsoft Outlook View Control в 8.2
Ответ #11 - 10. Мая 2012 :: 10:21
Печать  
chessman писал(а) 06. Мая 2012 :: 11:50:
Попробовал дома на WinXP, действительно не работает.
Оказывается я не учел, что для разных версий Аутлука, CLSID у АктивИкса отличается. Я почему-то был уверен, что он будет одинаковый. Во вложении исправленный вариант для 2003 офиса.
Если и этот не взлетит, то нужно просто исправить в 2-х местах CLSID, в соответствии со своим офисом.

Ура! Заработало Улыбка

chessman писал(а) 06. Мая 2012 :: 11:50:
То CaBaT: офф - помнишь ты спрашивал, на счет вылезающего окна, при работе скрипта, что типа скрипт "простаивает"? ( не помню точную формулировку). Эту проблему давно решил, нужно свойство TimeOut установить в -1.

Спасибо! Имеется ввиду это свойство?
http://www.script-coding.com/WSH/WScript.html#2.1.
  
Наверх
 
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: Microsoft Outlook View Control в 8.2
Ответ #12 - 10. Мая 2012 :: 10:25
Печать  
CaBaT писал(а) 10. Мая 2012 :: 10:21:
Спасибо! Имеется ввиду это свойство?
http://www.script-coding.com/WSH/WScript.html#2.1.


Свойство так же называется, только это совсем другой объект.
  
Наверх
 
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: Microsoft Outlook View Control в 8.2
Ответ #13 - 17. Мая 2012 :: 13:10
Печать  
Версия для 8.2, вдруг кому пригодится.
Если еще использовать Redemption.dll, то можно из письма достать всю инфу.
  

Outlook_v2.zip ( 8 KB | Загрузки )
Наверх
 
IP записан
 
kuvu
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 4
Зарегистрирован: 04. Июня 2012
Re: Microsoft Outlook View Control в 8.2
Ответ #14 - 04. Июня 2012 :: 10:45
Печать  
Подскажите пожалуйста:
Я  хочу вывести само сообщение на форму, возможно ли это  и с помощью чего ??
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: [1] 2 
ОтправитьПечать