Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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.004 c
2-1262463589
AntonioBanderas
2010-01-02 23:19
2010.03.07
Принадлежность точки отрезку


2-1262180202
RWolf
2009-12-30 16:36
2010.03.07
DBGrid + скролл


15-1261314553
DanweR
2009-12-20 16:09
2010.03.07
Демонстрация сортировки


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


15-1261561398
vv_fran
2009-12-23 12:43
2010.03.07
Нагрузка на проц от Delphi 7 в Win2003 Server





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский