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

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

Статус темы:
Закрыта.
  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. Andrey Kha
    Ответов:
    0
    Просмотров:
    31
  2. Hoasker
    Ответов:
    0
    Просмотров:
    65
  3. garri671
    Ответов:
    0
    Просмотров:
    56
  4. lelik200969
    Ответов:
    0
    Просмотров:
    54
  5. Kozolick
    Ответов:
    0
    Просмотров:
    144
Статус темы:
Закрыта.

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