Autore Topic: Proprietà LAST non funziona sempre  (Letto 2428 volte)

Offline Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Proprietà LAST non funziona sempre
« il: 03 Febbraio 2011, 17:23:34 »
Oggi ho scoperto un problema nella proprietà "LAST". Sappiamo che può essere interrogata per individuare la casella avente il focus all'interno di un gruppo.
In realtè passando da un oggetto all'altro della Form col mouse, Gambas sente il click ed attiva la proprietà LAST. Se invece si effettua lo spostamento da un oggetto della form al suo successivo, e questo fa parte di un gruppo, col tasto TAB, Gambas non ne tiene conto e lascia inattiva la proprietà LAST; infatti, interrogando il contenuto della proprietà TAG, opportunamente valorizzata per tutti gli oggetti del gruppo, restituisce questa volta il valore NULL.
 :evil:
Secondo me é un'anomalia bella e buona che andrebbe segnalata.
 :( :(
:ciao:

Offline leo72

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 2.163
    • Mostra profilo
    • http://www.leonardomiliani.com
Re: Proprietà LAST non funziona sempre
« Risposta #1 il: 05 Febbraio 2011, 17:04:45 »
Cito dalla documentazione ufficiale (gambasdoc.org):
"Returns a reference to the object that raised the last event."

Bisogna vedere cosa intendono per "sollevato l'ultimo evento": basta un cambio di focus oppure è necessario un click?
Secondo quanto da te citato, parrebbe che il primo caso non rientri negli eventi che modificano il LAST.
Visita il mio sito personale: http://www.leonardomiliani.com

Offline Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Re: Proprietà LAST non funziona sempre
« Risposta #2 il: 05 Febbraio 2011, 22:22:43 »
Cito dalla documentazione ufficiale (gambasdoc.org):
"Returns a reference to the object that raised the last event."

Bisogna vedere cosa intendono per "sollevato l'ultimo evento": basta un cambio di focus oppure è necessario un click?
Secondo quanto da te citato, parrebbe che il primo caso non rientri negli eventi che modificano il LAST.
Scusa Leo se non concocordo con la tua affermazione, ma se hai letto bene quello che ho scritto, avrai capito benissimo che LAST si comporta diversamente nei due seguenhti casi:
1) cliccaccando sulla checkBox interna ad un gruppo di checkbox, il focus viene trasferito ad essa e LAST funziona;
2) arrivando invece sulla checkBox interna ad un gruppo di checkbox colo tasto TAB, il focus viene trasferito ad essa e LAST non funziona.

La conferma del comportamento anomalo di LAST mi é stata data dalla seguente prova: ho valorizzato la proprietà action e, modificato opportunamente il programma, ho ripetuto la prova con LAST.Action. Ebbene LAST ha funzionato sia col click, che con TAB, da tastiera ovviamente.
Come spieghi il fenomeno?
Secondo me siamo difronte ad un bug bello e buono.
 :( :(
:ciao:

Offline leo72

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 2.163
    • Mostra profilo
    • http://www.leonardomiliani.com
Re: Proprietà LAST non funziona sempre
« Risposta #3 il: 05 Febbraio 2011, 23:33:11 »
Stiamo dicendo la stessa cosa  ;D

Ho infatti scritto che il passaggio del focus (ossia, come dici tu, arrivare sopra ad un controllo con il TAB, quindi non cliccando nulla) non fa aggiornare LAST. E' così, giusto?
Visita il mio sito personale: http://www.leonardomiliani.com

Offline leo72

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 2.163
    • Mostra profilo
    • http://www.leonardomiliani.com
Re: Proprietà LAST non funziona sempre
« Risposta #4 il: 05 Febbraio 2011, 23:33:45 »
Per curiosità, con che librerie? GTK o Qt? (scommetto le prime...)
Visita il mio sito personale: http://www.leonardomiliani.com

Offline Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Re: Proprietà LAST non funziona sempre
« Risposta #5 il: 06 Febbraio 2011, 15:11:32 »
Stiamo dicendo la stessa cosa  ;D

Ho infatti scritto che il passaggio del focus (ossia, come dici tu, arrivare sopra ad un controllo con il TAB, quindi non cliccando nulla) non fa aggiornare LAST. E' così, giusto?

Non proprio, perché, dando come fuori discussione il procedimento "click", perché non dà problemi,  quando accendo il focus su una CheckBox (group) col tasto TAB, ricevo due diversi effetti:
1) testando LAST.Tag , mi viene restituito NULL, però la proprietà Tag di ciascuna CheckBox del gruppo contiene un valore significativo;
2) testando LAST.Action ,  mi viene restituito  l'effettivo valore contenuto nella proprietà Action.;


Le librerie che ho sempre usato sono le QT, ed esattamente gb.qt e gb.qt.ext.
 :(
:ciao: