Spanish Como hacer referencia a un control desde una clase

desof

Well-Known Member
Licensed User
Longtime User
Hola estoy utilizando la Clase Class_Timers y necesito que con cada tick me incremente un numero en el layout principal pero no puedo hacer referencia a un control label por ejemplo por que me da error!!

Como seria esto?
 

Heppy

Active Member
Licensed User
Longtime User
Bueno, creo que la solución puede ser llamando a la función CallSubDelayed2.
En la clase por ejemplo, en cada tick pones:

B4X:
CallSubDelayed2(Main,"Rellena",Numeroaincrementar)

Y en el Main principal creas un Sub:

B4X:
Sub Rellena(mm As String)
  EditText1.Text=mm
End Sub
Un saludo
 

desof

Well-Known Member
Licensed User
Longtime User
Perfecto Heppy muchas gracias anduvo correcto ahora tengo un problema como tengo la necesidad de pasarle 2 parametros al procedimiento hice lo siguiente:

CallSubDelayed2(Main,"MostrarNumero", tmpLetra ,tmpNum)

B4X:
Sub MostrarNumero(letra As String ,num As String)
    
    Label1.Text = num
    Label3.Text = letra
 
End Sub

y estoy obteniendo este error:

B4X:
Parsing code.                          0.01
Compiling code.                        Error
Error compiling program.
Error description: Too many parameters.
Occurred on line: 75
CallSubDelayed2(Main,"MostrarNumero", tmpLetra ,tmpNum)
Word: tmpnum
 

bgsoft

Well-Known Member
Licensed User
Longtime User
Hola

Si escribes CallSubDelayed2( , se te abrirá la ventana de los parámetros a pasar, y podras ver que solo puedes pasarle un string como parametro, no dos. Por eso te dice:
Error description: Too many parameters.


Saludos
 

desof

Well-Known Member
Licensed User
Longtime User
Ah ok! gracias amigo deberé solucionarlo con algo como esto entonces.

CallSubDelayed2(Main,"MostrarNumero",T2 & "/" & T1)
 

Heppy

Active Member
Licensed User
Longtime User
Hola.

Para pasar dos argumentos usa CallSubDelayed3. Permite dos argumentos.

Y si quieres más, deberás pensar en formatear cadenas o usar Array as Object como argumento, pero esto no lo he intentado.
 
Cookies are required to use this site. You must accept them to continue using the site. Learn more…