Главная страница
    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.005 c
2-1261824983
Егорка
2009-12-26 13:56
2010.03.07
Таймер


15-1261258220
Юрий
2009-12-20 00:30
2010.03.07
С днем рождения ! 20 декабря 2009 воскресенье


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


10-1164100105
yaJohn
2006-11-21 12:08
2010.03.07
Получить бинарные данные из внешнего OLE сервера


2-1261983766
Who_is_you?
2009-12-28 10:02
2010.03.07
Как сделать проверки через каждые 20 микросекунд?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский