Форум: "Corba";
Текущий архив: 2010.03.07;
Скачать: [xml.tar.bz2];
ВнизПолучить бинарные данные из внешнего 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 вся ветка
Форум: "Corba";
Текущий архив: 2010.03.07;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.005 c