MS SQL 7.0 и COM-объект: быть иль не быть?

basil
Дата: 14.05.2000 08:03:16
У меня такая проблема. Есть MS SQL Server 7.0+SP1+Win2000. Он,как известно, поддерживает работу с COM-объектами. И есть COM-объект (точнее
OLEAutomation-объект), написанный с использованием Delphi3, который является простым экзешником. COM-объект реализует несколько интерфейсов. Иерархия построения такова: IDispatch --> ICommonList --> ICommonSprav --> ISprav. Интерфейс каждого уровня иерархии наследует, естественно, определения всех вышележащих интерфейсов (по иерархии). SQL-сервер дергает этот самый объект по DCOM'у (физически экзешник расположен на другой машине, под WinNT 4.0+SP6) Так вот что происходит. Когда я создаю COM-объект Sprav в процедуре на SQL-сервере,
то полагаю, что могу вызывать РЕАЛИЗОВАННЫЕ методы и свойства, продекларированные во всех интерфейсах. А происходит немного не так (по
крайней мере в моем случае). Я могу легко работать со всеми методами и свойствами, продекларированными в ISprav, могу присваивать значения свойств и выполнять процедуры (или функции, но при условии, что я не хочу получить возвращаемое ею значение), но НЕ МОГУ прочитать ни одного свойства и получить значение функций, продекларированных ни в интерфейсе ICommonList, ни в ICommonSprav :(. SQL-сервер выдает
ошибку -- несовместимый тип параметра или метод не возвращает никакого значения. Подскажите, что можно предпринять в этом случае. Может надо как-то хитро регистрировать этот объект, может надо ставит какие-то флаги в TypeLibrary (хотя, чего я только не пробовал уже).
Заранее благодарен, Василий
ZEDX
Дата: 30.12.2004 17:03:54
Преходи на MS2000 ...