Re: Передча массива UDT из VB-клиента в ATL-EXE-сервер
От: VladD2 Российская Империя www.nemerle.org
Дата: 11.01.02 16:52
Оценка:
Здравствуйте Rozshnevski, Вы писали:

R>Помогите, нужно передать массив UDT из VB-клиента в ATL-EXE-сервер, нихрена неработает (использовал SAFEARRAY** , VARIANT* ), а в DLL-cервер все передается.

R>В idl-файле описал свою UDT-структуру. Скомпилировал и зарегестрировал Proxy/Stub.
R>В VB
R>dim s(10) as MyUdt
R>MyAtlExe.SendData s() 'В этом месте отладчик отладчик выдает MessageBox с ошибкой
R>429 и говорит что не может создать объект.

1. Proxy/Stub не нужне и даже вреден.

2. Не "MyAtlExe.SendData s()", а "MyAtlExe.SendData s"

3. Массив лучше обявлять динамически:

dim s() as MyUdt

ReDim s(0 to 10)


4. В статье http://www.rsdn.ru/article/?com/COMvs.xml
Автор(ы): Чистяков В.Ю.

Эта статья входит в цикл "COM vs. CORBA" и знакомит читателя с основами COM, начиная с интерфейса IUnknown
и заканчивая маршалингом, DCOM и COM+.
дан пример того как это делается.

5. Покажи свое описание (idl) и реализащие метода SendData (ну, и самого интерфейса).
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.