Борланд С++ COM (опять safearray)
От: bes_podPC  
Дата: 25.08.03 12:31
Оценка:
В связи с небольшим опытом работы с Борланд С++ хочу посоветоваться.
Поглядел, примеры. Построил СОМ сервер и клиента.
Аргументы обьявил в Type Library Editor kak SAFEARAY(byte)
Теперь пытаюсь пересылать данные с клиента:

TSafeArrayDim1 dim( sizeof(GDB_GUI_MSG_DT) );
TSafeArrayChar1 array( dim );
for ( int i=0; i<sizeof(GUI_MSG_DT); i++)
array[i] = *(((char*)&MonMsg)+i);

// и на этой строке ASSERT начинает ругаться на
// VarType и Dimension
OLECHECK( FComsrvr.GetMsgAsync( array.Detach() ) );

Хотя тот же код на сервере работает, и данные нормально приходят на клиент. Не могу понять чего не хватает....

И еще вопросик. Если я на клиенте сделал array.Detach()
теперь на сервере обязательно сделать array.Destroy()
И в обратном порядке при приеме данных с сервера, клиент делает Destroy. Верно ?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.