Visual Basic - como parar/hacer esperar código

Life is soft - evento anual de software empresarial
 
Vista:

como parar/hacer esperar código

Publicado por javier (11 intervenciones) el 13/11/2001 15:35:37
Necesito que el código de un formulario se quede parado hasta que se acaba de ejecutar todo el código de otro formulario, que de paso al primero justo en el momento en que se quedó. Tengo que hacerlo en código porque lo de los formularios hijos, no aparece ya que trabajo con Visual Basic para Aplicaciones.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:como parar/hacer esperar código

Publicado por Javier Pérez (170 intervenciones) el 13/11/2001 18:23:45
¿ No te sirve hacer que el segundo formulario aparezca de forma modal? Eso hace que el código del programa espere a que el formulario llamado se descargue antes de proseguir. Si no es así, entonces puedes utilizar una variable indicadora que pondrás con un valor "Verdadero" antes de iniciar la espera. El formulario llamado, en el evento Unload, pondrá dicha variable con valor "Falso"; mientras tanto, el código del primer formulario habrá estado en espera en un bucle así:

While indicador
DoEvents
Wend

Esto tiene el peligro de que si el formulario llamado "se muere", entonces el bucle jamás terminará. Otra posibilidad es que hagas búsquedas en la colección Forms; esta colección tiene tantos componentes como formularios hay cargados en un momento dado, numerados a partir de 0; cada componente devuelve una referencia a un formulario. Comprobando la propiedad Name para cada componente puedes saber en todo momento que formularios hay cargados:

Dim i As Integer

For i = 0 To Forms.Count - 1
Debug.Print Forms(i).Name
Next i

Solución que te propongo:

1- El formulario que debe esperar activa una variable
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar