Autore Topic: Do While non va in loop  (Letto 508 volte)

Offline micro

  • Gamberetto
  • *
  • Post: 20
    • Mostra profilo
Do While non va in loop
« il: 09 Marzo 2013, 18:13:01 »
Salve ragazzi ho questa porzione di codice mooolto semplice ma non riesco a capire perchè non va in loop
Codice: [Seleziona]
Public Sub Form_Activate()
  Wait 0.5
  open_sock
  Do While esci = False
    Main
  Loop
End

La variabile esci è definita False in Sub_new e quindi Main dovrebbe essere eseguita all'infinito sino a che esci è True ma viene eseguita solo una volta.
Ho provato anche a portare il loop direttamente in Main ma è sempre la stessa cosa.
Misteri di Gambas?

Grazie per i consigli

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.334
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: Do While non va in loop
« Risposta #1 il: 09 Marzo 2013, 20:13:07 »
La variabile esci è definita False in Sub_new
...e se la definisci semplicemente globale come booleana (al di fuori del Sub _New) ?
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline micro

  • Gamberetto
  • *
  • Post: 20
    • Mostra profilo
Re: Do While non va in loop
« Risposta #2 il: 09 Marzo 2013, 20:50:09 »
Grazie vuott per la tua solita disponibilità.
Naturalmente e' dichiarata in global, ma è in _new che assegno il valore false.
Ma non è quello il problema, perchè all'inizio del Do While è comunque false tantè che viene eseguita la porzione di codice ma dopo non riprende il loop, se fosse stata True non verrebbe eseguito.
Infatti dopo il loop ho inserito una linea di codice che naturalmente non viene eseguita perchè appunto esci è False ma il Loop non cicla.
 ???
Cosa potrebbe essere?
« Ultima modifica: 09 Marzo 2013, 21:05:29 da micro »

Offline micro

  • Gamberetto
  • *
  • Post: 20
    • Mostra profilo
Re: Do While non va in loop
« Risposta #3 il: 09 Marzo 2013, 21:13:28 »
Risolto.
Inaspettatamente s'innescava un'altro loop all'infinito in una porzione di codice relativa al socket.
Teroicamente se mettevo in pausa doveva fermarsi in quel loop il debug, vero?
Invece mi segnalava un errore ecco perchè non me ne sono accorto subito.
Comunque Thread chiuso, grazie.