C/Visual C - Estructuras entre C++ y VB

 
Vista:

Estructuras entre C++ y VB

Publicado por Speaker (2 intervenciones) el 05/10/2005 20:22:17
Hola amigos:

Estoy programando una ocx en VC++ y necesito que generar una estructura personalizada para intercambiar informacion con una aplicacion VB. El tema es que no se como hacer para que el VB interprete esta estructura y viceversa.
Espero haber sido claro con mi incognita.
Al que me pueda ayudar muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Estructuras entre C++ y VB

Publicado por fernando.gomez (1603 intervenciones) el 05/10/2005 22:32:10
Una estructura es lo mismo que un Type en VB. Ejemplo:

// en C/C++
struct Fecha
{
int iDia;
int iMes;
int iAnio;
};

Rem En VB
Private Type Fecha
iDia As Integer
iMes As Integer
iAnio As Integer
End Type

A nivel de bytes, una estructura en C/C++ se comporta igual que una en VB. De hecho esto se hizo así para que VB pudiese emplear el API de Windows en aquellas funciones donde se piden una estructura. En resumen, no tienes que hacer nada.

Ahora que en lo que a clases se refiere... bueno, si estás programando un ActiveX, seguro ya conoces COM/ATL y todo lo que implica el traspaso de información entre VB y C.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Estructuras entre C++ y VB

Publicado por Speaker (2 intervenciones) el 05/10/2005 23:32:28
Justamente el problema que tengo es el tema del transpaso de informacion entre VB - C y viceversa. O sea necesito generar funciones en el ocx (c++) que me permitan intercambiar informacion en esa estructura con VB. Si me podes pasar algo de informacion te lo agradeceria, por que estoy bien perdido.

Desde ya muchas gracias.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Estructuras entre C++ y VB

Publicado por Vanchi (1 intervención) el 05/10/2005 23:33:40
Solo agrego un par de cosas.

1º Tené cuidado con el espacio otorgado por los compiladores.
(En mi caso el int del C++ equivale al Long del VB.)

2º El post anterior es completamente válido MIENTRAS que no utilices Matrices y string en VB. En esos casos tendrás que utilizar algunos truquillos.

Saludos
--
Iván (Vanchi) La Malfa
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Estructuras entre C++ y VB

Publicado por fernando.gomez (1603 intervenciones) el 06/10/2005 04:01:04
Claro. De hecho la respuesta era bajo el supuesto de que se empleara Visual C++, me faltó la aclaración. Con respecto a la segunda observación, esto también es cierto. Como muchas veces lo he comentado, el String de VB equivale al BSTR de Visual C++.

Para las matrices y cualquier objeto en general, pues hay que tener cuidado. Si pides una matriz en una función C++, la puedes recibir en VB como si fuera de tipo Any (que es diferente a Variant).

Finalmente, como comentaba, no tienes que hacer nada especial (salvo en los casos ya apuntados por Iván). Haces la función en C++ y ya la puedes emplear desde VB.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar