giulio ha scritto:
........................
IF $_Sw = "Erro" THEN
PRINT "blah blah erro"
DtContGG.SetFocus
ELSE
Se in console ti scrive "blah blah" vuol dire che non ci sono problemi con la variabile $_Sw.
Infine, per scrupolo, ho visto che nel commento del codice hai scritto "ERRO". "ERRO" non è uguale a "Erro". Detto per scrupolo, lo so che lo sai. Ciao.
Francamente non ci capisco più niente! :-? :-?
In attesa di eventuali suggerimenti ho modificato il codice nel modo seguente:
PUBLIC SUB DtContOk_Click()
DIM $_Data AS String
DIM $MenuActSiNo AS GestMenu 'serve a richiamare la classe 'GestMenu'
DIM $TestData AS TestData 'serve a richiamare la classe 'TestData'
$_GGDtCont = DtContGG.Text
$_MMDtCont = DtContMM.Text
$_AADtCont = DtContAA.Text
$TestData = NEW TestData($_GGDtCont, $_MMDtCont, $_AADtCont) 'richiama la classe 'TestData'per verificare la validità formale della data contabile immessa
IF ModuliVari.b_VeroFalso = FALSE THEN
Message.ERROR("A T T E N Z I O N E !" & Chr(10) & "La data contabile immessa non é valida" & Chr(10) & "C O R R E G G I")
'ME.DtContGG_GotFocus()
DtContGG.SetFocus
ELSE
ME.VerifGGChiusa()
IF $_Sw <> "Erro" THEN
IF $_AADtCont < "2002" THEN
ModuliVari.$_TipoValuta = "£" 'permette di gestire importi senza crt decimali
ELSE
ModuliVari.$_TipoValuta = "€" 'permette di gestire importi con 2 crt decimali
ENDIF
'$MenuActSiNo = NEW GestMenu
ME.Close
'Message.Info("B_e_n_e__________________________!!!, la prova é riuscita" & Chr(10) & "Puoi aprire la Form di inserimento movimenti ")
Form2.Text = "Inserimento Movimenti del : " & DtContGG.Text & " - " & DtContMM.Text & " - " & DtContAA.Text
Form2.Show
ELSE
DtContGG.SetFocus
PRINT "blah blah erro"
ENDIF
ENDIF
END
Essenzialmente ho spostato alcune istruzioni in modo da potere testare $_Sw <> da "Erro". In queste condizioni il metodo SetFocus funziona, però viene eseguita pure
PRINT "blah blah erro"
che ho posto appositamente dopo l'istruzione SetFocus; per la verità m'aspettavo che non fosse eseguita.
Comunque la variabile $_Sw contiene effettivamente il valore "Erro", per cui non ha responsabilità.
Ho provato il programmino che gentilmente mi hai fornito, ma dato che gli eventi interessati per il cambio del Focus contengono solamente l'istruzione SetFocus, tutto funziona regolarmente.
Chiedo scusa per la svista nel commento del mio primo post relativamente ad "Erro", scritto "ERRO". É sempre dovuto allo status :fuso: che ho raggiunto sia per il SetFocus che rimaneva spento, sia per un altro ostacolo su un comando sql che mi sta letteralmente facendo impazzire.
Conclusione: Dopo avere modificato il codice l'istruzione SetFocus funzionicchia e ... guai a toccarla!
Dovrei installare l'ultima versione di Gambas, ma salvo assoluta necessità per ulteriori inconvenienti, preferisco rimandare ancora un pò.
Grazie e poi ancora grazie per l'aiuto a e la pasienzq di tutti. :ciao: