La Web del Programador: Comunidad de Programadores
 
    Pregunta:  18380 - DEVOLVER UN TYPE CON UNA FUNCION
Autor:  David Martinez Gonzalez
Hola si alguien me puede ayudar agradeceria una respuesta a la siguiente pregunta:

Tengo en siguiente problema tengo una funcion que me tiene que devolver un TYPE, dicha funcion se encuentra en una clase que formara parte de un ActiveX , en ese mismo proyecto tengo un modulo donde he definido el TYPE como PUBLIC.
El caso es que me da el siguiente error :
"Solo los tipos definidos por el usuario de modulos de objeto se pueden pasar a funciones enlazadas en tiempo de ejecución o forzar a o desde un variant."

Este error me da si pongo que la funcion me devuelva un VARIANT.
si indico que me devuelva el TYPE me da el siguiente:
"Solo los tipos definidos por el usuario publicos de modulo de objeto se pueden usar como parametros, tipos de retorno para procedimientos publicos de modulos de clase o campos de TDU publicos."

A mi me da la sensacion de que tengo mal definido el TYPE si alguien sabe donde le tengo que definir y como. O si no es este el motivo del error me gustaria saber cual y como solucionarlo.

Un saludo y gracias por adelantado David Martinez.

  Respuesta:  Paul Guerra
El problema es que el type que definiste es público para el ocx, pero no para el programa que lo utilice. Por lo que ese programa no podrá declarar variables de ese tipo. Si esto es así, ¿cómo se supone que podrá recibir el valor que devuelve la función? Así razona Visual Basic, por eso es que te ocurre el error.