Aunque no se pueda pasar un byte-array directamente a un COM+, sí se puede
pasar de otra forma.

Aquí encontré un ejemplo que puede servir:

http://www.experts-exchange.com/Database/Software/FoxPro/Q_24890109.html


Saludos.-


El 21 de noviembre de 2014, 20:18, Ricardo Aidelman <
[email protected]> escribió:

> Pablo:
> Un COM no trabaja en el mismo espacio de memoria que tu aplicación, por lo
> tanto, no se puede pasar un valor por referencia, que, por otra parte, es
> la
> única forma de pasar un array o un objeto.-
>
> Lo que se hace es enviar y recibir XML.
> Si el COM también es una aplicación tuya hecha en VFP, transformar el array
> en un cursor de un campo por 9000 registros y pasarlo luego a XML, enviarlo
> al COM y hacer el proceso inverso, no es muy complicado, utilizando
> XMLToCursor(), CursorToXML() o la clase XMLAdapter.
>
> Saludos
>
> ricardo aidelman
> ( socio nº 1545 )
>
> -----Mensaje original-----
> De: [email protected] [mailto:[email protected]] En nombre de pablo.oviedo
> Enviado el: jueves, 20 de noviembre de 2014 03:02 p.m.
> Para: GUFA List Member
> Asunto: [GUFA] COM y arreglo de byte
>
> Hola, necesito pasar a un metodo de un COM un arreglo de bytes por
> referencia. El arreglo debe ser de 9 kb aproximadamente y no consigo como
> hacerlo.
>
> Prové:
>
> dimension data[9000] as byte
> miObj.metodo(@data)
>
> también probe con comarray(miObj, 10)
>
> y siempre me da el mismo error: ole error code 0x80020005 (type mismatch)
>
> Alguna idea?
>
> Gracias, saludos.
>
>
>
>
> -----
> Se certificó que el correo no contiene virus.
> Comprobada por AVG - www.avg.es
> Versión: 2015.0.5577 / Base de datos de virus: 4213/8599 - Fecha de la
> versión: 20/11/2014
>
>
>

Responder a