Este foro usa cookies
Este foro utiliza cookies para almacenar su información de inicio de sesión si está registrado y su última visita si no lo está. Las cookies son pequeños documentos de texto almacenados en su computadora; las cookies establecidas por este foro solo se pueden usar en este sitio web y no representan ningún riesgo de seguridad. Las cookies en este foro también rastrean los temas específicos que ha leído y la última vez que los leyó. Si Ud. continúa navegando, entenderemos que acepta todas las cookies.

Se almacenará una cookie en su navegador, independientemente de la elección, para evitar que se le vuelva a hacer esta pregunta. Podrá cambiar la configuración de sus cookies en cualquier momento utilizando el enlace en el pie de página.

El foro antiguo se encuentra accesible desde https://foro.gambas-es.org en modo de solo lectura.

Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5

Mensaje de error. No hay suficientes argumentos. SOLUCIONADO
#1

Buenas!.

Tengo ese error con un ejemplo sencillo y no sé el motivo.

Pizarra es un control DrawingArea que existe en el formulario.

GAMBAS
  1. Private untest As Test
  2.  
  3. Public Sub Form_Open()
  4.  
  5.   untest = New Test(Pizarra)
  6.  



Y la clase Test.

GAMBAS
  1. Property areadibujo As DrawingArea Use hareadibujo
  2. Private suobservador As New Observer
  3.  
  4. Public Sub _new(darea As DrawingArea)
  5.  
  6.   Me.areadibujo = darea
  7.   suobservador = New Observer(Me.areadibujo) As "Vigilante"
  8.  
  9.  
  10.  
  11. Public Sub Vigilante_Draw()
  12.  
  13.   DibujarCuadrado()
  14.  
  15.  
  16. Public Sub DibujarCuadrado()
  17.  
  18.   Paint.Background = Color.White
  19.   Paint.Rectangle(128, 128, 40, 40)
  20.   Paint.Fill
  21.  



Cuando elimino el observador ademas de no hacer nada el ejemplo, deja de dar el error.
La clase Test quedaría así, no haría nada.

GAMBAS
  1. Property areadibujo As DrawingArea Use hareadibujo
  2. 'Private suobservador As New Observer
  3.  
  4. Public Sub _new(darea As DrawingArea)
  5.  
  6.   Me.areadibujo = darea
  7.   'suobservador = New Observer(Me.areadibujo) As "Vigilante"
  8.  
  9.  
  10.  
  11. ' Public Sub Vigilante_Draw()
  12. '
  13. '   DibujarCuadrado()
  14. '
  15. ' End
  16.  
  17. Public Sub DibujarCuadrado()
  18.  
  19.   Paint.Background = Color.White
  20.   Paint.Rectangle(128, 128, 40, 40)
  21.   Paint.Fill
  22.  



Entiendo lo que dice, con falta de argumentos, pero es que son los que son. Uno. Confused

Saludos


Archivos adjuntos
.gz TestDrawingObjeto-0.0.1.tar.gz Tamaño: 11.79 KB  Descargas: 0

"Pero no toques, por qué tocas? - Amador"
    ¡Gracias!
#2

Sin entrar al asunto un detalle: Gambas tiene su propia clase test, a ver si estás solapándola...

No podemos regresar
    ¡Gracias!
#3

(21-01-2023, 12:46)Shordi escribió:  Sin entrar al asunto un detalle: Gambas tiene su propia clase test, a ver si estás solapándola...

Antes había probado con otro nombres y es el mismo resultado. Esto es un ejemplo recortado de lo que estoy haciendo para reproducir
el mismo error.  Lo cierto es que hice ejemplos más complejos que este y usando en la clase una propiedad tipo DrawingArea y no dio este error.

Y es que me extraña que sea por la versión nueva de Gambas ya que me funcionaron ejemplo más complejos que uso algo parecido.

Ademas también probé una cosa que no habría hecho normalmente nunca, llamar la clase igual que el proyecto y gambas no se quejó.
Voy a ver si encuentro algo parecido en la lista internacional, al menos el error aunque no sea el mismo ejemplo.

"Pero no toques, por qué tocas? - Amador"
    ¡Gracias!
#4

El error se encuentra en la clase. En la declaración del observador.

GAMBAS
  1. Private suobservador As New Observer



Se debe cambiar a:

GAMBAS
  1. Private suobservador As Observer



Un despiste. Sad

Así que el observador esperaba un argumento que no tenía al usar New al principio del código.

"Pero no toques, por qué tocas? - Amador"
    ¡Gracias!


Posibles temas similares…
Tema / Autor Respuestas Vistas Último mensaje

Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)