Я пишу приложение на Delphi 6 со встроенным automation server'ом (т.е. сервер - именно exe, а не dll, а созданный класс является наследником от TAutoObject). Требуется обращаться к методам этого класса из VBA-скрипта в ворде или экселе. При этом логика загрузки/создания/уничтожения/выгрузки требуется следующая:
- если сервер уже загружен, в пределах макроса создать объект, поработать с ним, и освободить полностью объект, не трогая сервер
- если сервер не загружен, загрузить его, создать объект/отработать/уничтожить, а сервер опять же оставить запущенным
По логике работы, лучше всего иметь instancing model = internal и threading model = single, но допустимо использовать и другие режимы.
Кроме того, никак не могу добиться работы позднего связывания (т.е. сейчас из скрипта объект можно создать только через New, но не через CreateObject).
У кого есть идеи по этому поводу, плиз пните в нужную сторону. Это мой первый COM-объект, поэтому возможны совсем грубые ошибки. Код не привожу, потому что там его практически нет (COM класс создан мастером, в нем создан один пустой метод, в макросе три строчки, которые создают объект, вызывают метод, и присваивают ссылке nothing).