Pausar proyecto en sub main

Iniciado por Sanlegas, 8 Marzo 2011, 03:07 AM

0 Miembros y 1 Visitante están viendo este tema.

Sanlegas

Que tal a todos, he estado haciendo un proyecto en donde no tengo un formulario, solamente modulos, tengo el submain declarado mas o menos así

Código (vb) [Seleccionar]
Sub Main()
call CreateTimer ' en realidad no es lo que tiene, pero hago una llamada para crear un timer
End Sub


si lo dejaba asi creaba el timer y el prograba finalizaba por el end sub, le agregue un do while que nunca dejaba de parar

Código (vb) [Seleccionar]
Sub Main()
call CreateTimer
Do while 1 = 1
    DoEvents
Loop
End Sub


asi me va bien, el programa no se cierra, solo que consume demasiada memoria, y estuve pensando en alguna otra alternativa para que no se cierre, sin usar formulario y sin gastar mucha memoria, les agradeceria si me ayudaran con este problema, salu2   :P

LeandroA

hola dos opciones

Option Explicit
Private Declare Function WaitMessage Lib "user32.dll" () As Long
Dim bStop As Boolean

Private Sub main()
    Do While bStop = False
        DoEvents
        WaitMessage
    Loop
End Sub



Option Explicit
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Dim bStop As Boolean

Private Sub main()
    Do While bStop = False
        DoEvents
        Sleep 100
    Loop
End Sub



en ambas cuando quieras salir solo Debes poner bStop = True, supongo que eso lo vas a tener que manejar dentro del timer.

Saludos.

Sanlegas

Me quedé con la primera opción  :D, funciona de maravilla, gracias LeandroA  ;-)