1. Наш канал codeby в telegram. Пишем об информационной безопасности, методах защиты информации, о программировании. Не пропускай новости с кодебай, будь в тренде ! Подробнее ...

    Скрыть объявление

Работа с объектами класса Paint.picture

Тема в разделе "Lotus - Программирование", создана пользователем -, 26 дек 2007.

  1. Гость

    Репутация:
    0
    Здравствуйте, товарищи. Помогите разобраться с одной лотусной проблемой, возникшей на моем горизонте. Дело в том, что буквально на днях мной были предприняты попытки внедрить в Rich-Text-овое поле виндовый Com-объект класса Paint.Picture, он же PBrush (в миру просто графический редактор Paint). И хоть внедрить и запустить объект получилось, все попытки получить из него объект Application не увенчались успехом. Вот код:
    Код:
    Dim NUIWS As New NotesUIWorkspace
    Set ND_Current=NUIWS.CurrentDocument.Document
    Set NRTI=New NotesRichTextItem(ND_Current,"Pic")
    Set EmbObj=NRTI.EmbedObject(EMBED_OBJECT,"Paint.Picture","")
    Set handleV=EmbObj.Activate(True)
    Set P=handlev.Object	  'вот здесь Лотус категорически возражает ("Object variable not set")
    Set Paint=handleV.Application
    
    EmbObj описан в Global Declaration
    Кроме того, просто создать объект того же класса, юзая функцию CreateObject, оказалось ваще невозможно. Помогите пожалуйста в очередной раз побороть Lotus.

    ПОСТКРИПТУМ: все поступившие готовые решения, предложения, вспомогательные примеры или хотя бы намеки на них, а также критику и обвинения в безбожном ламачестве приму с огромной благодарностью.
     
  2. morpheus

    morpheus скриптописец

    Репутация:
    0
    Регистрация:
    7 авг 2006
    Сообщения:
    3.915
    Симпатии:
    1
    а зачем его внедрять, если он поддерживает OLE Automation, то и работайте с paint как с любым оле сервером
     
  3. Гость

    Репутация:
    0
    Да все бы замечательно, только вот создать автоматический объект класса PBrush не представляется возможным...На этом месте Lotus сообщает "Cannot create automation object". Канает только внедрение объекта в RichText, да и то, как уже было сказано, без надежды на управление объектом..Вот я и думаю, что бы еще такого предпринять, чтобы Лотус принял объект Paint.Picture как родного и без лишних слов создал автоматический OLE
     
  4. morpheus

    morpheus скриптописец

    Репутация:
    0
    Регистрация:
    7 авг 2006
    Сообщения:
    3.915
    Симпатии:
    1
    Чесно , не нашёл упоминания что Paint.Picture есть OLE обьектом

    Зачем вообще он Вам нужен
     
  5. Гость

    Репутация:
    0
    Paint.Picture является OLE-объектом...Не верите - посмотрите в списке OLE-объектов, которые можно внедрить на форму командой меню Create - Object...Так вот, я планировал копировать ChartArea экселевского графика в Paint и таким образом получить в документе рисунок в RichText-м поле с постоянным смещением (известно, что смещение безбожно меняется, если копировать в ричтекст различные рисунки..Не то чтобы эта проблемы была для меня актуальной, потому что уже вижу альтернативу, но хотелось бы все же научиться работать с Paint
     
  6. morpheus

    morpheus скриптописец

    Репутация:
    0
    Регистрация:
    7 авг 2006
    Сообщения:
    3.915
    Симпатии:
    1
    я не кому не верю


    <!--QuoteBegin-Программер+26:12:2007, 14:41 -->
    <span class="vbquote">(Программер @ 26:12:2007, 14:41 )</span><!--QuoteEBegin-->посмотрите в списке OLE-объектов,
    [snapback]91433" rel="nofollow" target="_blank[/snapback]​
    [/quote] - а кто сказал что это OLE обьекты ? :)
     
  7. Гость

    Репутация:
    0
    Ну, во всяком случае, в лотусном хэлпе прямым текстом сказано, что Lotus способен создать OLE Automation из любого виндового com-объекта, коим Paint, без всякого сомнения, является..Однако
    практика показывает иное
     
  8. morpheus

    morpheus скриптописец

    Репутация:
    0
    Регистрация:
    7 авг 2006
    Сообщения:
    3.915
    Симпатии:
    1
    <!--QuoteBegin-Программер+26:12:2007, 14:59 -->
    <span class="vbquote">(Программер @ 26:12:2007, 14:59 )</span><!--QuoteEBegin-->Коим Paint, без всякого сомнения, является
    [snapback]91448" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    а вот и не верю :)

    и ЛОтус подтверждает обратое , т.к.
    Set handleV=EmbObj.Activate(True)
    и handleV IS Nothing потому что в хэлпе написано
    Returns Nothing if the embedded object or object link does not support OLE automation.
     
  9. Гость

    Репутация:
    0
    Ну раз так, тогда очень обидно ((..Непонятным остается только один момент: какой смысл предоставлять юзеру такой сервайс как внедрение Пэйнта на форму, если нет никаких шансов поработать с ним как с OLE-сервером
     
  10. morpheus

    morpheus скриптописец

    Репутация:
    0
    Регистрация:
    7 авг 2006
    Сообщения:
    3.915
    Симпатии:
    1
    <!--QuoteBegin-Программер+26:12:2007, 15:13 -->
    <span class="vbquote">(Программер @ 26:12:2007, 15:13 )</span><!--QuoteEBegin-->какой смысл предоставлять юзеру
    [snapback]91456" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    НУ потому что он ЮЗЕР и не будет работать с ним как с OLE Object'ом
     
  11. Гость

    Репутация:
    0
    Ну да, и уж конечно юзер не полезет на форму..Я неправильно выразился..Не юзер,а разработчик, юзающий те или иные возможности Лотуса, пути которого, ИМХО, неисповедимы.
     
Загрузка...
Похожие Темы - Работа объектами класса
  1. fan92rus
    Ответов:
    5
    Просмотров:
    79
  2. erlan1749
    Ответов:
    10
    Просмотров:
    115
  3. ghostik
    Ответов:
    6
    Просмотров:
    320
  4. nerfy
    Ответов:
    15
    Просмотров:
    160
  5. Васян
    Ответов:
    6
    Просмотров:
    161

Поделиться этой страницей