Ver Mensaje Individual
  #4 (permalink)  
Antiguo 23/04/2006, 00:49
Avatar de [EX3]
[EX3]
 
Fecha de Ingreso: marzo-2006
Ubicación: Fuenlabrada, Madrid
Mensajes: 203
Antigüedad: 19 años, 1 mes
Puntos: 1
Utiliza los Timers del API de Windows y tendras un rango mayor para definir el intervalo ya que el parametro es un Long mientras que el del control Timer es un Integer. El unico inconveniente, y si lo fuera, es que tendras que declarar el codigo del evento del Timer obligatoriamente en un modulo BAS.

Un sencillo ejemplo:
Form1.frm
Código:
Option Explicit

 'Crea y configura un Timer:
Private Declare Function SetTimer Lib "user32" (ByVal hWnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long

 'Destruye un Timer:
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 creado.

Private Sub Form_Load()
'Creamos un Timer y le asignamos la direccion de memoria del procedimiento que hara de evento en el Timer:
 TimerId = SetTimer(Me.hWnd, 0, 1000, AddressOf Module1.MiRutinaDeEvento)

End Sub

Private Sub Form_Unload(Cancel As Integer)
KillTimer Me.hWnd, TimerId

End Sub 
Module1.bas
Código:
Option Explicit

Public Var As Long

'Procedimiento que ejecutara el Timer:
Public Sub MiRutinaDeEvento()
Form1.Var = Form1.Var + 1

Form1.Cls
Form1.Print Form1.Var

End Sub 
Salu2...

P.D.: Añadir una "leve" ventaja de este metodo y es que te permite utilizar un intervalo de 0 milisegundos, osea, ejecucion inmediata del evento, sin espera alguna.
__________________
Proyecto dx_lib32 (http://dxlib32.se32.com) Libreria DLL ActiveX para el desarollo de juegos y programas multimedia en Visual Basic 6.0 con la potencia de DirectX

Dice un dicho que "el que calla otorga". En internet tenemos otro que dice "nunca alimentes a un troll" que viene a decir "dejale hablar solo que se ya se cansara de incordiar". Solo los necios creen tener la razon con la ultima palabra.