В связи с небольшим опытом работы с Борланд С++ хочу посоветоваться.
Поглядел, примеры. Построил СОМ сервер и клиента.
Аргументы обьявил в 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. Верно ?