Конференция "Corba" » Передача массива байт из COM объекта в другом процессе. [Delphi, Windows]
 
  • Городской Шаман (11.08.08 21:34) [0]
    Здравствуйте.

    Вопрос, какой тип данных автоматически маршалится при его передаче(out) для передачи произвольного массива байт. Необходимо передать содержимое IStream.

    Насколько я понял, просто написать out пер: Istream нельзя, так как передастся просто ссылка без содержимого. А мне нужно передать содержимое Istream. Хотелось бы обойтись без MMF.

    Пока вижу вариант - запихивать в BSTR и перегонять так. Но вроде кривой вариант.

    Заранее извиняюсь если вопросы глупые, просто никогда не создавал межпроцессное взаимодействие между COM-серверами.
  • Сергей М. © (12.08.08 12:52) [1]

    > межпроцессное взаимодействие между COM-серверами


    Может все-таки не между серверами, а между контроллером и OutOfProcess-сервером ? С сервером автоматизации (неважно каким - внутренним или внешним) общается именно контроллер автоматизации ..
  • Городской Шаман (12.08.08 15:41) [2]
    Смысл не в терминах а в том как отмаршалить содержимое Istream с сервера на клиентский стаб.
  • Сергей М. © (12.08.08 16:29) [3]

    > на клиентский стаб


    Не на клиенте, а на контроллере.
    И не на стаб, а на прокси - стаб на серверной стороне.
    Это все же к слову о терминах.

    А ты что, собственный маршаллер изобретаешь ?
  • Городской Шаман (12.08.08 16:38) [4]

    > Сергей М. ©   (12.08.08 16:29) [3]
    >
    >
    > > на клиентский стаб
    >
    >
    > Не на клиенте, а на контроллере.
    > И не на стаб, а на прокси - стаб на серверной стороне.
    > Это все же к слову о терминах.
    >
    > А ты что, собственный маршаллер изобретаешь ?


    Нет мне всего лишь из COM объекта нужно перегнать 2 Istream-а и две строки. Со строками проблем нет, а Istream, похоже, придется пихать в вариантный массив.
  • Сергей М. © (12.08.08 16:54) [5]

    > Istream, похоже, придется пихать в вариантный массив


    Так это же совершенно нормально..

    олей-серверы как раз OleVariant (точнее - safe array) и используют ..
  • Городской Шаман (12.08.08 17:51) [6]

    > Сергей М. ©   (12.08.08 16:54) [5]
    >
    >
    > > Istream, похоже, придется пихать в вариантный массив
    >
    >
    > Так это же совершенно нормально..
    >
    > олей-серверы как раз OleVariant (точнее - safe array) и
    > используют ..


    Хм... Действительно? Я думал это я один такой извращенец.
 
Конференция "Corba" » Передача массива байт из COM объекта в другом процессе. [Delphi, Windows]
Есть новые Нет новых   [120357   +35][b:0][p:0]