Gambas-it
Archivi (sola lettura) => Programmazione (Gambas 2) => Topic aperto da: g.paolo - 20 Febbraio 2008, 12:24:45
-
Vi ricordate il metodo per sapere se un form è gia visualizzato?
-
A meno di non fare voli pindarici, penso che l'unica cosa è mantenersi un puntamento alla form in questione.
Nella classe Application non c'è nulla che tenga in corpo automaticamente gli oggeti usati, tranne solo per quelli caricati dall'interprete ma questo non ti dice se è usata e/o visualizzata.
-
Immaginavo non fosse semplice, anche perchè forse ho impostato male il programma.
Praticamente nella variabile "com_select" carico un comando SELECT su tabelle ogni volta diverse, e la do in pasto a questa SUB che richiamo da pulsanti diversi.
Come vedi ogni volta creo una nuova istanza dell'oggetto "Fbrowse" che è una griglia di visualizzazione.
In breve vorrei che ogni volta apro una nuova istanza di "Fbrowse" applicata all'oggetto "hform", venisse chiusa la precedente istanza eventualmente a schermo. Dico eventuale perchè al primo richiamo della SUB non esiste ovviamente ancora alcuna istanza dell'oggetto "hform".
PUBLIC SUB presenta_lista()
DIM rData AS Result
DIM hForm AS Fbrowse
rData = fmain.connessione.Exec(fmain.com_select)
hForm.Show
CATCH
Message.Error(DConv(Error.Text))
END
-
Puoi provare così:
rData = fmain.connessione.Exec(fmain.com_select)
'prova a chiudere hForm se è aperta
TRY hForm.Close
WAIT
hForm.Show
Ciao.
-
Grazie molte, ora ci provo!
-
Funziona a meraviglia! E' bastato aggiungere la riga
TRY fmain.hForm.Close
prima di aprire la nuova istanza di hform
E' una forza questo comando TRY!!!