Cita: Por ejemplo crear un control TIMER, y usar el evento timer de éste mismo control dentro del modulo.
No puedes crear un control en un modulo ya que el modulo no es un formulario y no seria posible instanciar el control. Si lo que preguntas es si se puede crear un control
Timer en un modulo la respuesta es no ya que se trata de un control. Sin embargo te puedes hacer un
Timer desde el
API de Windows que seria mas o menos lo mismo:
Form1.frm
Código:
Option Explicit
Private Declare Function SetTimer Lib "user32" (ByVal hWnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long
Private Declare Function KillTimer Lib "user32" (ByVal hWnd As Long, ByVal nIDEvent As Long) As Long
Dim TimerId As Long ' Guarda el identificador del Timer.
Public Var As Long
Private Sub Form_Load()
' Crea un Timer y le asocia un procedimiento como rutina de evento:
TimerId = SetTimer(Me.hWnd, 0, 1000, AddressOf MiRutinaDeEvento)
End Sub
Private Sub Form_Unload(Cancel As Integer)
' Destruye el Timer:
KillTimer Me.hWnd, TimerId
End Sub
Module1.bas
Código:
Public Sub MiRutinaDeEvento()
Form1.Var = Form1.Var + 1
Form1.Cls
Form1.Print Form1.Var
End Sub
El evento que ejecuta el
Timer tiene que ser extrictamente un procedimiento sin argumentos y debe estar obligatoriamente declarado en un
Modulo *.bas, de lo contrario no funcionara. Los
Timer del
API, al igual que los controles
Timer de VB, se ejecutan en un hilo de ejecucion indepentiente sin interrumpir la ejecucion principal del programa.
Salu2...