Mostrare una finestra tipo MessageBox senza bloccare il programma

Da Gambas-it.org - Wikipedia.

Come è noto, in Gambas all'aprirsi della finestra di un MessageBox si determina il blocco del processo del codice, sino a quando non si cliccherà sull'apposito tasto presente sulla finestra medesima.

E' possibile ottenere l'apertura della finestra di un MessageBox senza determinare l'arresto del programma |1|, richiamando mediante la proprietà .Url dell'oggetto WebView (dopo aver ovviamente attivato il componente gb.qt4.webkit) un file html contenente il seguente codice:

<HTML>
<HEAD>

 <SCRIPT type="text/javascript">

     alert("Finestra aperta !");

 </script>

</head> 
</html>

Appena richiamato il file html, si aprirà la finestra di messaggio che arresterà il proseguo dell'eventuale codice html sino a quando non si cliccherà sull'apposito tasto presente sulla finestra medesima, ma il processo del codice Gambas non sarà bloccato, continuando così questo regolarmente a svolgersi indipendentemente dall'azione esercitata dall'utente sulla finestra del MessageBox del codice html.

Non è necessario che l'oggetto WebView sia visibile, o sia comunque effettivamente presente sul Form, è sufficiente che sia inizializzato e che sia impostata la sua proprietà .Url con l'indirizzo del file html. Pertanto nel codice Gambas si potrà anche impostare l'oggetto WebView anche solo così:

Private vw As WebView


Public Sub Form_Open()

 
  With vw = New WebView(Me)
    .Url = "/percorso/del/file.html"
  End With

End


Note

[1] Pur non bloccando il processo del codice Gambas, l'apertura della finestra con la funzione alert di JavaScript determina, però, l'impossibilità di effettuare ogni azione con il mouse sugli oggetti posti Form.