Главная страница
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-1262118378
Pavel
2009-12-29 23:26
2010.03.07
Ошибка при вызове GetInetFile


15-1261522440
Германн
2009-12-23 01:54
2010.03.07
Static IP. Чем он(о) опасен?


6-1213405371
antoxa2005
2008-06-14 05:02
2010.03.07
Подскажите, а как добавить вложение к письму стандарного mail аге


2-1262704720
ЭлЭрДжи
2010-01-05 18:18
2010.03.07
БД в Delphi (очень важная лаба, помогите пожалуйста)


2-1262071082
Who_is_you?
2009-12-29 10:18
2010.03.07
Чтение и запись в LPT в режиме Bidirection Win XP, Win98?