Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.03.07;
Скачать: CL | DM;

Вниз

Получить бинарные данные из внешнего OLE сервера   Найти похожие ветки 

 
yaJohn   (2006-11-21 12:08) [0]

Приветствую.
Какая-то дурацкая проблема...
Написал внешний OLE сервер. Теперь клиенту необходимо получить из ОЛЕ сервера бинарные данные. Создаю в интерфейсе новую функцию. Теперь нужно в одном из параметров вернуть бинарные данные, точнее говоря - обычную строку. VARIANT * параметр работает, но упорно игнорирует часть строки (что, собственно логично). Попытки использовать LPSTR к успеху тоже не привели. Стоит объявить LPSTR параметр как in-out - при выходе из процедуры на стороне ОЛЕ сервера идут страшные аксесвиолейшены. Просто LPSTR (и как var параметр тоже) прекрасно передает бинарные данные в ОЛЕ сервер, но любые изменения в данных сделанные в ОЛЕ сервере не видны клиенту.
Можно, конечно, слать данные в VAR массивах или кодировать в MIME и передавать через  VARIANT * но это же ИЗВРАТ.

Допоможите люди добрые, тыкните пальцем...


 
yaJohn   (2006-11-21 12:09) [1]

upd.
VARIANT * параметр игнорирует часть строки после #0.


 
wal ©   (2006-11-21 13:40) [2]

Ну дак ты определись всетаки, бинарные данные, или всеже строку?
Если строку, то #0 как раз и определяет ее конец, если бинарные данные, то используй, например, массивы вриантные, почему это изврат - непонятно


 
clickmaker ©   (2006-11-21 16:12) [3]


> слать данные в VAR массивах или кодировать в MIME и передавать
> через  VARIANT * но это же ИЗВРАТ.

COM по другому не умеет. Только вариант-совместимые типы.
Нужно быстро передавать сырые наборы байт - тогда сокеты в помощь


 
случайно   (2006-11-22 07:18) [4]

>clickmaker ©   (21.11.06 16:12) [3]

> слать данные в VAR массивах или кодировать в MIME и передавать
> через  VARIANT * но это же ИЗВРАТ.

COM по другому не умеет. Только вариант-совместимые типы.
Нужно быстро передавать сырые наборы байт - тогда сокеты в помощь


Умеет, только прокси-стаб делать надо. Или IStream передавать, тож вариант.


 
yaJohn   (2006-11-22 19:21) [5]

э.... IStream - хорошая идея.
А в дельфях есть обьект уже реализовавший IStream? Ленив я...


 
случайно   (2006-11-23 08:22) [6]

Есть и в системе, и в Дельфи, но название длинное. а я тож ленив. Поиск поможет


 
wal ©   (2006-11-23 10:11) [7]


> Ленив я...
Это зря

> А в дельфях есть обьект уже реализовавший IStream?
TStreamAdapter



Страницы: 1 вся ветка

Текущий архив: 2010.03.07;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.012 c
2-1261998166
citizen
2009-12-28 14:02
2010.03.07
Дескрипторы дочерних окон


2-1262455962
antonn
2010-01-02 21:12
2010.03.07
из регулярной процедуры в экземпляр класса


2-1262423504
serhiyiv
2010-01-02 12:11
2010.03.07
TMemoryStream


15-1261175201
Германн
2009-12-19 01:26
2010.03.07
Ну и как понять таких разработчиков?


2-1261998265
ZXZ_RUS
2009-12-28 14:04
2010.03.07
Добавление компанента по нажатию на баттон!