Ver Mensaje Individual
  #3 (permalink)  
Antiguo 04/05/2006, 17:23
Avatar de [EX3]
[EX3]
 
Fecha de Ingreso: marzo-2006
Ubicación: Fuenlabrada, Madrid
Mensajes: 203
Antigüedad: 18 años, 2 meses
Puntos: 1
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...
__________________
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.