Principales respuestas
DirectCast en VB6 para convertir objetos

Pregunta
-
Hola! Estoy pasando una aplicación de VS2005 a VB6, y tengo unas líneas donde uso DirectCast para convertir un tipo de objeto a otro. El problema es que la versión de VB6 no contempla ni la función DirectCast ni la función CType para conversión de tipos entre objetos, por lo que necesito otro método para hacerlo. Alguna idea?
Gracias de antemano.
Sara
Respuestas
-
Gracias por tus respuestas. La forma de hacerlo, es, digamos, por partes.
'Módulo 1 Global miVarGeoApp As TipoAppGIS Global miVarMapWin As TipoMapWindow 'Módulo de clase Set miVarMapWin = miVarGeoApp.atributo1 'Módulo 2 Public Property Get MV() As TipoMapGIS MV = miVarMapWin.atributo2 End Property
Algo parecido a esto.
Sara
- Marcado como respuesta Sara23SQL miércoles, 25 de abril de 2012 7:38
Todas las respuestas
-
En general, no tiene mucho sentido. El DirectCast normalmente se usa en VB.NET para convertir un objeto de una clase madre en una de sus clases hijas. Pero en VB6 no hay herencia de clases propiamente dicha (únicamente hay herencia de interfaz), por lo que no se puede presentar esa situación de tener que convertir de clase madre a clase hija.
-
Gracias por tu respuesta!
El proyecto que tengo usa librerías externas, es decir, llama a funciones de un programa externo (tipo GIS) y los objetos con los que quiero hacer DirectCast pertenecen a dicho sw. Se aplicaría tu razonamiento igualmente? Gracias de nuevo.
Sara
-
Habría que ver con más detalle cuál es la conversión que tienes en mente, pero en principio seguiría aplicándose el mismo criterio. Es decir, la razón de hacer un DirectCast sería para convertir un objeto de una clase tuya a una clase de la librería, donde una de ellas hereda de la otra. Pero con VB6, la librería será un objeto COM y no puedes hacer herencia de clases desde él, por lo que no parece ser que pueda plantearse esta situación.
-
Gracias por tus respuestas. La forma de hacerlo, es, digamos, por partes.
'Módulo 1 Global miVarGeoApp As TipoAppGIS Global miVarMapWin As TipoMapWindow 'Módulo de clase Set miVarMapWin = miVarGeoApp.atributo1 'Módulo 2 Public Property Get MV() As TipoMapGIS MV = miVarMapWin.atributo2 End Property
Algo parecido a esto.
Sara
- Marcado como respuesta Sara23SQL miércoles, 25 de abril de 2012 7:38