Проблема с передачей массивов UDT в exe сервер
От: Максим Алексейкин Россия  
Дата: 24.09.02 11:40
Оценка:
Приветствую всех.
У меня есть компонент в виде 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. Может кто знает как побороть эту ошибку. Буду благодарен.
ICQ #311116826
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.