Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: Sanlegas en 8 Marzo 2011, 03:07 am



Título: Pausar proyecto en sub main
Publicado por: Sanlegas en 8 Marzo 2011, 03:07 am
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
  1. Sub Main()
  2. call CreateTimer ' en realidad no es lo que tiene, pero hago una llamada para crear un timer
  3. 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
  1. Sub Main()
  2. call CreateTimer
  3. Do while 1 = 1
  4.    DoEvents
  5. Loop
  6. 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


Título: Re: Pausar proyecto en sub main
Publicado por: LeandroA en 8 Marzo 2011, 03:30 am
hola dos opciones

Código:
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


Código:
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.


Título: Re: Pausar proyecto en sub main
Publicado por: Sanlegas en 9 Marzo 2011, 03:44 am
Me quedé con la primera opción  :D, funciona de maravilla, gracias LeandroA  ;-)