Gambas-it

Archivi (sola lettura) => Segnalazione bug (Gambas 2) => Topic aperto da: Ceskho - 30 Settembre 2010, 16:57:24

Titolo: Form in showmodal e gestione chiusura
Inserito da: Ceskho - 30 Settembre 2010, 16:57:24
Non so se sia un bug o se mi sfugge qualcosa nella logica di gestione di un form aperto in modalità showmodal. In pratica i form aperti con tale metodo sono impossibili da gestire alla chiusura.

Provate ad aprire un form con

Codice: gambas [Seleziona]
Formprova.showmodal()


e poi nella sua sub di chiusura date:

Codice: gambas [Seleziona]
IF Messagge.Question("Chiusura", "Ok", "No") = 2 THEN 
   STOP EVENT
END IF


Vedrete che anche premendo su "No" Il form si chiude comunque.

È un bug o mi sfugge qualcosa?
Titolo: Re: Form in showmodal e gestione chiusura
Inserito da: milio - 30 Settembre 2010, 17:07:09
Il problema sta, come al solito, nelle Gtk  :-\

Testato che con Qt funzia...
Titolo: Re: Form in showmodal e gestione chiusura
Inserito da: Ceskho - 30 Settembre 2010, 17:08:31
Il problema sta, come al solito, nelle Gtk  :-\

Testato che con Qt funzia...

Mannaggia....sarebbe da segnalare. È fastidioso e stupido come bug. Non me ne ero mai accorto prima.
Titolo: Re: Form in showmodal e gestione chiusura
Inserito da: andy60 - 30 Settembre 2010, 19:22:31
Premetto che uso GTK , non me ne sono mai accorto anche perche' di solito non chiedo  se si vuole uscire o meno, uso due bottoncini con cui ridirigo il codice, i classici ok e cancel.
Titolo: Re: Form in showmodal e gestione chiusura
Inserito da: md9327 - 01 Ottobre 2010, 17:21:16
Provato con RETURN subito dopo STOP EVENT ?
Titolo: Re: Form in showmodal e gestione chiusura
Inserito da: Ceskho - 01 Ottobre 2010, 17:22:30
Provato con RETURN subito dopo STOP EVENT ?

E in che mi consiste? Già con stop event dovrebbe abbandonare la sub no? Tanto è vero che su KDE funziona....
Titolo: Re: Form in showmodal e gestione chiusura
Inserito da: md9327 - 01 Ottobre 2010, 18:13:07
In realtà no.

STOP EVENT imposta solo un flag a TRUE/FALSE, per avvertire il ricevente che l'evento è stato rifiutato, ma prosegue comunque nelle azioni e nella sequenza degli eventi.

Con RETURN dovresti riuscire a bloccare questa sequenza, con il risultato che gli ancestor se la prendono in quel posto, ad attendere il messia...

...ma è solo una prova...