Работа с делфийским Activex сервером из ворда

Тема в разделе "Delphi - СОМ", создана пользователем evan, 3 май 2007.

Наш партнер Genesis Hackspace
Статус темы:
Закрыта.
  1. evan

    evan Гость

    Здравствуйте.
    Я пишу приложение на Delphi 6 со встроенным automation server'ом (т.е. сервер - именно exe, а не dll, а созданный класс является наследником от TAutoObject). Требуется обращаться к методам этого класса из VBA-скрипта в ворде или экселе. При этом логика загрузки/создания/уничтожения/выгрузки требуется следующая:
    • если сервер уже загружен, в пределах макроса создать объект, поработать с ним, и освободить полностью объект, не трогая сервер
    • если сервер не загружен, загрузить его, создать объект/отработать/уничтожить, а сервер опять же оставить запущенным
    Сейчас существуют две проблемы: во-первых, если сервер загружается в результате создании объекта, то он выгружается после выхода им макроса, и во-вторых, процесс msword почему-то не закрывает хендл на екзешник сервера после выхода из макроса (т.е. после того, как отработал макрос, удалить екзешник невозможно, пока не закроется ворд).
    По логике работы, лучше всего иметь instancing model = internal и threading model = single, но допустимо использовать и другие режимы.
    Кроме того, никак не могу добиться работы позднего связывания (т.е. сейчас из скрипта объект можно создать только через New, но не через CreateObject).
    У кого есть идеи по этому поводу, плиз пните в нужную сторону. Это мой первый COM-объект, поэтому возможны совсем грубые ошибки. Код не привожу, потому что там его практически нет (COM класс создан мастером, в нем создан один пустой метод, в макросе три строчки, которые создают объект, вызывают метод, и присваивают ссылке nothing).
     
Загрузка...
Похожие Темы - Работа делфийским Activex
  1. lemuriez
    Ответов:
    0
    Просмотров:
    59
  2. Eugeneshs
    Ответов:
    0
    Просмотров:
    63
  3. bronnn
    Ответов:
    2
    Просмотров:
    135
  4. zehrx
    Ответов:
    5
    Просмотров:
    282
  5. Петручо
    Ответов:
    5
    Просмотров:
    189
Статус темы:
Закрыта.

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