Gambas-it

Gambas3 => Segnalazione bug => Topic aperto da: tornu - 11 Settembre 2012, 12:49:41

Titolo: [RISOLTO] Probabile bug TextArea
Inserito da: tornu - 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
Titolo: Re: Probabile bug TextArea
Inserito da: md9327 - 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...
Titolo: Re: Probabile bug TextArea
Inserito da: tornu - 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?
Titolo: Re: Probabile bug TextArea
Inserito da: milio - 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
Titolo: Re: Probabile bug TextArea
Inserito da: tornu - 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:
Titolo: Re: [RISOLTO] Probabile bug TextArea
Inserito da: md9327 - 12 Settembre 2012, 15:55:39
Ma Milio, glilo hai detto che sò 100 euri per questa risposta? Per uno ovviamente...  ;D
Titolo: Re: [RISOLTO] Probabile bug TextArea
Inserito da: milio - 12 Settembre 2012, 22:23:46
Se poi e' in zona san teodoro glieli chiedo in contanti ...  ;D
Titolo: Re: [RISOLTO] Probabile bug TextArea
Inserito da: md9327 - 13 Settembre 2012, 18:42:54
Ma perchè, li volevi in assegni?  ;D