Приветствую всех.
У меня есть компонент в виде dll в которой описаны типы данных похожие на эти:
// midl code
typedef [uuid(...)] struct CITEM
{
long data;
} CITEM;
// эта структура содержит массив структур типа CITEM
typedef [uuid(...)] struct CDATA
{
long id;
SAFEARRAY (CITEM) Items;
} CDATA;
Эти описанные типы я использую в разных компонентах (VB и VC) путём подключения dll. В одном из этих компонентов есть метод, который принимает CDATA в качестве параметра по ссылке (или по значению). Проблема в том, что если этот компонент реализован как exe сервер, то возникает ошибка 800703E6 ("Invalid access to memory location"). Если же компонент реализован как in-proc, то все работает Ok. Может кто знает как побороть эту ошибку. Буду благодарен.