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