Visual Basic - Marca error.

Life is soft - evento anual de software empresarial
 
Vista:

Marca error.

Publicado por Enrique Monroy (7 intervenciones) el 13/09/2000 00:00:00
Hola! Tengo un problema con una subrutina y es el siguiente; Cuando le mando un parametro a una SubRutina y continuo con la siguiente línea no me marca error, pero cuando le especifico 2 parametros a la misma subrutina me marca "Expected ´=´" ¿Por que? ¿La Subrutina la tengo que igualar a una variable? ¿Es problema de configuracion u opciones?

Muchas gracias por ayudarme...
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Marca error.

Publicado por Pentarou (17 intervenciones) el 13/09/2000 00:00:00
Lo que pasa es que has creado una subrutina que puede admitir dos parámetros, pero cuando se los pasas te da un error porque llamas a esta subrutina sin más. Sucede que si tu rutina espera un parámetro, sí puedes llamarla sin más, pero si espera más de uno, has de llamarla con la instrucción Call.

Por ejemplo, una subrutina que muestre en mayúsculas el texto que le digas sería

Private Sub Mayusculas(ByVal Texto As String)
MsgBox UCase(Texto)
End Sub

, y a esta subrutina tendrías que llamarla simplemente escribiendo lo siguiente:

Mayusculas "hola"

o bien:

Mayusculas NuevoTexto

(siendo NuevoTexto una variable de tipo STRING).



En cambio, si tu subrutina espera dos ó más variables, debes usar Call; un ejemplo:

Private Sub Unir(ByVal Texto1 As String, ByVal Texto2 As String)
MsgBox Texto1 & Texto2
End Sub

para llamar a esta subrutina, puedes escribir una de estas dos cosas:

Call Unir(Text1.Text, Text2.Text)

,o bien...

Unir Text1.Text, Text2.Text

El error que comentas que te sale es por usar la segunda forma, pero con paréntesis encerrando a los argumentos que quieres pasar a la subrutina. Si quieres encerrarlos entre paréntesis, usa la función Call.

Un saludo,
Pentarou
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar