Autore Topic: [Risolto]Segnale #11  (Letto 1395 volte)

Offline Top Fuel

  • Gran Maestro dei Gamberi
  • *****
  • Post: 960
    • Mostra profilo
[Risolto]Segnale #11
« il: 23 Ottobre 2012, 00:11:42 »
Durante una prova di drag con una picturbox con la proprietà enabled=false mi è uscito questo errore:

Codice: [Seleziona]
Il programma si è bloccato inaspettatamente con un segnale #11. 

Essendo disabilitata non dovrebbe prendere in considerazione nessun evento o metodo, giusto?
Da cosa sarà dipeso?
« Ultima modifica: 23 Ottobre 2012, 22:58:56 da Top Fuel »
Dear youtube administrators, your search bar is broken. When I type the letter "J" it appears justin bieber when it should appear Jimi Hendrix. Fix this, please.

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.311
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: Segnale #11
« Risposta #1 il: 23 Ottobre 2012, 00:18:23 »
Perché supponi che sia un bug ?
« 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 Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Re: Segnale #11
« Risposta #2 il: 23 Ottobre 2012, 09:21:27 »
Durante una prova di drag con una picturbox con la proprietà enabled=false mi è uscito questo errore:

Codice: [Seleziona]
Il programma si è bloccato inaspettatamente con un segnale #11. 

Essendo disabilitata non dovrebbe prendere in considerazione nessun evento o metodo, giusto?
Da cosa sarà dipeso?

Il tipo di errore #11 é un errore che si manifesta anche in altre occasioni. Io l'ho beccato pure, pur non avendo mai usato il Drag su PictureBox. Sicuramente hai un errore nel programma. Ora non ti saprei dire cosa, però potresti controllare gli eventi dell'oggetto PictureBox ed eventualmente aggiungere una print di verifica del passaggio del programma per ciascun evento, in modo da capire, oltre la riga di codice nella quale si manifesta l'errore  #11,  come il programma arriva alla procedura dentro la quale incontra quell'errore.
 :ciao:
« Ultima modifica: 23 Ottobre 2012, 11:29:09 da Picavbg »
:ciao:

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Segnale #11
« Risposta #3 il: 23 Ottobre 2012, 16:40:44 »
Per prima cosa controllare se non è presente codice che genera un loop infinito...

Offline Top Fuel

  • Gran Maestro dei Gamberi
  • *****
  • Post: 960
    • Mostra profilo
Re: Segnale #11
« Risposta #4 il: 23 Ottobre 2012, 18:25:52 »
La procedura incriminata è questa (è una parte del mio programma di simulazione della Roulette):
Codice: [Seleziona]
Public Sub Fiches_MouseDrag()
Dim fi As Image
With Last
  If Capitale.value > Val(.tag) Then
      fi = New Image(Me) As "fi"
  Else
      Message.Info("Non hai abbastanza soldi.\nAumenta il capitale")
      Return
  Endif  
End With
End
A parte il fatto che non è ancora completa, le fiches le ho raggruppate nel gruppo omonimo, per poterle draggare sulle varie caselle del tavolo per fare una puntata, e nel Tag c'è il valore di ogni singola fiches.
Nel menù c'è una voce che serve ad iniziare o interrompere una seduta di gioco, e a seconda del suo stato le fiches sono abilitate o no.
Capitale è una Valuebox con i soldi che ci rimangono attualmente, il problema sorge se dentro c'è un valore differente da zero, sia che le fiches siano abilitate o no.
In ogni caso il messaggio di errore completo è:
Codice: [Seleziona]
Il programma si è bloccato inaspettatamente
 con un segnale #11.

 Per favore riportare l'errore a
gambas@users.sourceforge.net o supporto@gambas.it per un supporto in italiano.
« Ultima modifica: 23 Ottobre 2012, 18:29:37 da Top Fuel »
Dear youtube administrators, your search bar is broken. When I type the letter "J" it appears justin bieber when it should appear Jimi Hendrix. Fix this, please.

Offline Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Re: Segnale #11
« Risposta #5 il: 23 Ottobre 2012, 22:14:27 »
Codice: [Seleziona]
  If Capitale.value > Val(.tag) Then
Sicuramente sai che, premendo F1, quando sei dentro l'ide di Gambas, accedi direttamente alla documentazione di Gambas. Lì puoi individuare le proprietà della Valuebox (g3 -->Form --> ValueBox --> Proprietà Value). Puoi constatare che la "Property Value As Variant". Dal tuo codice vedo che confronti un campo variant con un campo stringa convertito dalla funzione Val  in numerico. Per quello che leggo qui, dovrebbe fare al caso tuo la funzione "CVariant". Prova e dicci se l'errore rimane.
 :ciao:
:ciao:

Offline Top Fuel

  • Gran Maestro dei Gamberi
  • *****
  • Post: 960
    • Mostra profilo
Re: Segnale #11
« Risposta #6 il: 23 Ottobre 2012, 22:42:30 »
Non ci sto capendo più niente. :rolleyes:
Se faccio come dici tu, usando Cvariant, mi da errore type mismatch, si aspetta un intero invece di una stringa, e non mi da segnale #11, se uso Cint il tipo di variabile gli va bene ma ricompare il segnale #11.
Ho provato pure ad usare una label al posto della valuebox ma non cambia nulla. E sono bloccato. :hatecomputer:
Precedentemente avevo provato a remmare tutte le istruzioni per poi togliere il rem uno alla volta ed il problema sta proprio nel confronto. Boh...

Edit: trovata la gabola. il problema stava nella linea DOPO:
Codice: [Seleziona]
fi = New Image(Me) As "fi"
E' stato sufficiente remmarla ed agire in un'altra maniera, quella consigliatami da Vuott nel thread in cui chiedevo lumi sul drag&drop, ovvero usando gli esempi allegati a Gambas. Adesso funziona benissimo. :hard:
Vuott, mi presti il tuo avatar "asinesco"? :-[
« Ultima modifica: 23 Ottobre 2012, 23:03:58 da Top Fuel »
Dear youtube administrators, your search bar is broken. When I type the letter "J" it appears justin bieber when it should appear Jimi Hendrix. Fix this, please.

Offline Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Re: [Risolto]Segnale #11
« Risposta #7 il: 24 Ottobre 2012, 00:08:34 »
Non ci sto capendo più niente. :rolleyes:
Se faccio come dici tu, usando Cvariant, mi da errore type mismatch,
Strano, ma vero. Per non ricevere l'errore "Mismatch", bisogna scrivere:
Codice: [Seleziona]
Dim NuVariant As Variant = 15000
Dim StriMia As String = "111999"
Dim Num2 As Variant
Num2 = Val(StriMia)
If NuVariant < Num2 Then
    Print "NuVariant = '" & NuVariant & "'"
    Print "Num2 = '" & Num2 & "'"
Endif

Ecco il risultato delle istruzioni Print
Citazione
NuVariant = '15000'
Num2 = '111999'
Comunque, mi fa piacere che ce l'hai fatta. Però mi farebbe piacere leggere le istruzioni dopo la modifica vincente.  :D
 :ciao:

:ciao:

Offline Top Fuel

  • Gran Maestro dei Gamberi
  • *****
  • Post: 960
    • Mostra profilo
Re: [Risolto]Segnale #11
« Risposta #8 il: 24 Ottobre 2012, 15:10:28 »
Ti do la risposta nell'altro thread che ho aperto sul drag&drop, visto che questo problema è stato risolto e non voglio più parlarne. ;D
Dear youtube administrators, your search bar is broken. When I type the letter "J" it appears justin bieber when it should appear Jimi Hendrix. Fix this, please.

Offline Top Fuel

  • Gran Maestro dei Gamberi
  • *****
  • Post: 960
    • Mostra profilo
Re: [Risolto]Segnale #11
« Risposta #9 il: 30 Gennaio 2013, 18:41:42 »
E' ricomparso il famigerato segnale #11...
Nel thread "Conversione di vecchi giochi": http://www.gambas-it.org/smf/index.php?topic=1016.0, ho nominato il gioco Qix, ho provato a costruire un algoritmo per disegnare l'onda a linee, ma non funziona. Subito in partenza mi spara in faccio il segnale #11.
Ho allegato il programmino. Il problema è nel DO-LOOP, ma non riesco a capire da dove salta fuori. Apparentemente non ci sono istruzioni errate, io credo. :-\
MD9327 diceva più sopra che potrebbe essere colpa di un loop infinito ed ho provato a mettere un contatore ma non cambia nulla. Boh...

Edit: trovato il guaio, è l'istruzione Wait.
« Ultima modifica: 30 Gennaio 2013, 18:48:13 da Top Fuel »
Dear youtube administrators, your search bar is broken. When I type the letter "J" it appears justin bieber when it should appear Jimi Hendrix. Fix this, please.