Parámetro opcional en el constructor. - Versión para impresión +- Comunidad Gambas-es (https://gambas-es.org) +-- Foro: Gambas (https://gambas-es.org/forum-3.html) +--- Foro: General (https://gambas-es.org/forum-4.html) +--- Tema: Parámetro opcional en el constructor. (/thread-820.html) |
Parámetro opcional en el constructor. - guizans - 24-01-2022 Hola. Como indica el título, he creado un constructor de una nueva ventana que he creado, recibe dos parámetros obligatorios y uno opcional. Código: Public Sub _new($nombre as String, $respuestas as Integer, Optional $modo as Boolean = False) Hasta aquí todo normal. Pero el problema viene cuando desde un evento del formulario principal hago esto: Código: Dim nuevaVentana as VentanaPregunta Esto me da error, ya que el tercer parámetro, que también es opcional me sale que es de tipo Control, y es algo que no acabo de entender. También he probado a poner dos comas seguidas, pero no funciona. Algo estoy haciendo mal, pero no se el que. ![]() Muchas gracias. Edito: La solución es pasar en los parámetros el nombre de la variable donde se almacena Código: nuevaVentana = New VentanaPregunta("hola", 30, nuevaVentana, True) RE: Parámetro opcional en el constructor. - Shordi - 24-01-2022 En el constructor siempre está implícito el parámetro del contenedor, que es obligatorio. Si no hay parámetros opcionales, no pasa nada porque el compilador lo añade por su cuenta al final de la lista de parámetros, pero si colocas un parámetro opcional, que debe ir al final, entonces no puede ser colocado automáticamente por lo que debes referenciarlo en el código como el último parámetro de los obligatorios. Esa es la razón. Saludos RE: Parámetro opcional en el constructor. - guizans - 24-01-2022 Muchas gracias por la explicación, ahora me queda claro. Un saludo. |