Ayuda con las propiedades de una clase y error por llamada en código visual basic

Hola amigo experto
Sucede que tengo una clase llamada clsEntidad
a la cual le he asignado propiedades.
Bien, luego añadí el siguiente procedimiento a la clase:
Public Sub Nuevo(objForm as Form,objtxt as Texbox)
objForm.objtxt="TEXTO DE PRUEBA"
End Sub
Bueno cuando voy al formulario para utilizar la clase osea hago lo sgte:
Dim objCat as clsEntidad
Set objCat=New clsEntidad
'Me devuelve un error que dice no coinciden los tipos de datos
objCat.Nuevo(Me,Text1)
Me tiene loco este problemita
Pues quiero hacer una clase que tenga los métodos para los botones
- Nuevo, editar, cancelar, grabar
Yo pienso que es por que en una clase no acepta parámetros de tipo objetos
como texbox, form, frame, etc por que en un módulo estándar si los acepta
Muchas gracias por la atención prestada amigo
SALUDOS PERÚ - LIMA [email protected]

1 Respuesta

Respuesta
1
En los métodos de las clases si se puede pasar como parámetro objetos
y es tal y como lo estas haciendo. El problema es posible que se encuentre en el parámetro objForm que es del tipo form, y tu cuando creas un formulario nuevo, ya no es de la clase form sino de la clase form1 o como se llame tu formulario, por lo tanto te dará un error de tipos si intentas pasárselo como parámetro.
Lo que puedes hacer es en la declaración de tu método, poner el parámetro form como objetc:
Public Sub Nuevo(objForm as Object,objtxt as Texbox)
objForm.objtxt="TEXTO DE PRUEBA"
End Sub
Cambiando esto ya no te debe de dar problemas.
Hola azhazel mi nombre es carlos y acudí a ti por el problema de para pasar parámetros de objectos en una clase
Me dijiste que haga lo siguiente:
Public Function Nuevo(xme As Object)
xme.Caption = "Carlos"
End Function
BIEN LO HICE LUEGO EN EL FORM LO :
Dim cls As clsEntidad 'DECLARE
Set cls = New clsEntidad 'INSTANCIE
'Y CUANDO QUIERO UTILIZAR ESTA FUNCION SOLO PARA CAMBIAR EL TITULO DE FORMULARIO ASI:
cls.Nuevo (Form1)
'ME DEVUELVE ES SIGUIENTE ERROR
"el objeto no admite esta propiedad o método", señalándolo en la clase
No se si estaré siguiendo mal tus pasos o que estaré haciendo mal, pero por favor si tuvieses tiempo y me harías un pequeño ejemplo te lo agradeceré eternamente gracias nuevamente
Saludos Perú - lima
[email protected]
Y no me funciona
Si pudieras pegarme todo el código de tu clase y la llamada al método. En principio lo que veo está bien el declare la instancia y la llamada no están mal. Muéstrame el código a ver si vemos algo.
Gracias amigo, es tal como tu lo dices con object, lo que pasa es que lo estaba llamando mal
No lleva paréntesis osea
formata form1 y nada más
Gracias por todo amigo, muchas gracias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas