Autore Topic: [RISOLTO] Probabile bug TextArea  (Letto 1081 volte)

Offline tornu

  • Gran Maestro dei Gamberi
  • *****
  • Post: 855
    • Mostra profilo
[RISOLTO] Probabile bug TextArea
« il: 11 Settembre 2012, 12:49:41 »
Buon giorno a tutti,
mi sono imbattuto in un comportamento anomalo di Gambas3 3.2.1, mi spiego
ho creato un semplice form con all' interno una TextArea e questo evento per forzare l' editazione di testo in maiuscolo

Codice: gambas [Seleziona]

Public Sub TextArea1_Change()

  TextArea1.Text = UCase(TextArea1.Text)

End


Gambas 3 va in crash, con altri oggetti per esempio TextBox funziona correttamente, mi potete dare conferma se
avviene la stessa cosa anche a voi. Grazie
« Ultima modifica: 12 Settembre 2012, 13:25:04 da tornu »
Il software è come il sesso, è meglio quando è libero. (Linus Torvalds)

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Probabile bug TextArea
« Risposta #1 il: 11 Settembre 2012, 15:06:33 »
Attenzione, perchè TextArea gestisce il suo testo in maniera particolare, in quanto è soggetta già a trasformazione da parte dell'oggetto stesso.
Con TextEdit non accade perchè il contenuto non subisce alcuna modifica automatica e/o interna.

Probabilmente il crash è causato da un loop infinito, appunto perchè intervieni nella modifica del testo, mentre c'è nè una già in atto...

Offline tornu

  • Gran Maestro dei Gamberi
  • *****
  • Post: 855
    • Mostra profilo
Re: Probabile bug TextArea
« Risposta #2 il: 11 Settembre 2012, 17:12:19 »
Attenzione, perchè TextArea gestisce il suo testo in maniera particolare, in quanto è soggetta già a trasformazione da parte dell'oggetto stesso.
Con TextEdit non accade perchè il contenuto non subisce alcuna modifica automatica e/o interna.

Probabilmente il crash è causato da un loop infinito, appunto perchè intervieni nella modifica del testo, mentre c'è nè una già in atto...

Ciao md9327,
avendo riscontrato il problema in un mio progetto, proprio per evitare che fosse generato da errori da parte di codice da me inserito erroneamente,
come avrai letto nel mio post ho fatto la prova in un nuovo progetto solamente con una Form e al suo interno una TextArea niente altro, ed inserendo
l' evento TextArea_Change(), alla pressione di qualsiasi carattere all'interno della TextArea manda in crash Gambas3. Quindi se è come dici tu non capisco cosa può aver scatenato un eventuale loop.
Ma tu hai provato con una Form ed una TextArea per vedere se riscontri il mio stesso problema?
« Ultima modifica: 11 Settembre 2012, 17:14:26 da tornu »
Il software è come il sesso, è meglio quando è libero. (Linus Torvalds)

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.272
  • Chi parla poco dice tanto...
    • Mostra profilo
Re: Probabile bug TextArea
« Risposta #3 il: 12 Settembre 2012, 07:52:07 »
Bhe sicuramente cosi' come hai scritto tu ha ragione MD####, va in loop l'evento Change....

Questo evento si scatena se qualcosa cambia all'interno della TextArea, quindi se all'interno dell'evento non gli metti un controllo per non rieseguire piu' volte il codice, va in loop... prova cosi':

Codice: gambas [Seleziona]
Private b As Boolean

Public Sub TextArea1_Change()

  If b Then Return
  b = True
  TextArea1.Text = UCase(TextArea1.Text)
  b = False

End

Offline tornu

  • Gran Maestro dei Gamberi
  • *****
  • Post: 855
    • Mostra profilo
Re: Probabile bug TextArea
« Risposta #4 il: 12 Settembre 2012, 13:23:42 »
Ok, così funziona tutto correttamente.  :D
Ringrazio vivamente md9327 e milio per le spiegazioni che mi hanno fatto apprendere questa
particolarità sulla TextArea di cui ero completamente all' oscuro.

 :ciao:
Il software è come il sesso, è meglio quando è libero. (Linus Torvalds)

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: [RISOLTO] Probabile bug TextArea
« Risposta #5 il: 12 Settembre 2012, 15:55:39 »
Ma Milio, glilo hai detto che sò 100 euri per questa risposta? Per uno ovviamente...  ;D

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.272
  • Chi parla poco dice tanto...
    • Mostra profilo
Re: [RISOLTO] Probabile bug TextArea
« Risposta #6 il: 12 Settembre 2012, 22:23:46 »
Se poi e' in zona san teodoro glieli chiedo in contanti ...  ;D

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: [RISOLTO] Probabile bug TextArea
« Risposta #7 il: 13 Settembre 2012, 18:42:54 »
Ma perchè, li volevi in assegni?  ;D