Pablo,
A ver si lo he entendido, imaginamos un formulario con listbox, que inicialmente está oculto y un botón, al pulsar el botón llamamos a un método, éste empieza a ejecutarse y como se cumplen algunas cosas debemos volver al formulario, mostrar el listbox y luego continuar, si es esto, yo lo haría de la siguiente forma:
- el listbox está oculto.
- al entrar en el método, empiezan las instrucciones y si se cumple ese caso especial pongo el listbox visible y retorno del método.
- el usuario está de nuevo en el formulario, interactúa con el listbox y vuelve a lanzar el mismo método, pero en este caso, al principio del propio método comprueba si el listbox es visible y si lo es, salto todo el código que ya ejecuté antes y sigo hasta el final:
Código:
method Boton1Click() class MyForm
if !::ListBox:Visible
// Empieza la ejecución del método...
x += 1
...
// Si se cumple la condición mostramos el listbox y salimos.
if DeboPreguntar == .T.
::ListBox1:Visible := .T.
return
endif
endif
// Sigue el código...
x += 1
...
return