Главная страница
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.015 c
1-1238695413
DimaK
2009-04-02 22:03
2010.03.07
Построение Отчета Fastreport


2-1262073913
oleg1963
2009-12-29 11:05
2010.03.07
Добавить компонент в класс. Получилось.


3-1235022074
Программер
2009-02-19 08:41
2010.03.07
5 миллионов записей


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


15-1261322445
oxffff
2009-12-20 18:20
2010.03.07
Сломать палец на ноге на ровном месте не проблема.