Autore Topic: bug sul menù  (Letto 3188 volte)

Offline giob1642

  • Grande Gambero
  • ***
  • Post: 159
    • Mostra profilo
bug sul menù
« il: 01 Ottobre 2014, 12:02:07 »
Uso l'ultima versione di gambas .
V'e un bug nell'editor di menù:
se utilizzo        menu1 menu2 menu 3           funziona
se metto           menu1 menu2  utility             il prog si blocca 
ciò è dovuto al fatto che l'editor di menù non riconosce alcuni caratteri in particolare "y" 
giorgio

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.248
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: bug sul menù
« Risposta #1 il: 01 Ottobre 2014, 12:16:09 »
A me, invece, sembra che funzioni  :-\ sia se la lettera "y"  è presente nella voce principale del Menu, sia se è presente in una sotto-voce, nonché in entrambi i casi sia se è presente nel campo "Name" che in quello "Caption".

Dovresti allegare una copia di un semplice sorgente.
« 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 giob1642

  • Grande Gambero
  • ***
  • Post: 159
    • Mostra profilo
Re: bug sul menù
« Risposta #2 il: 01 Ottobre 2014, 15:24:55 »
Ho sviluppato un prog. con una decina di form, tale numero elevato è dovuto principalmente ad evitare l'uso di pannelli hide/show o controlli tabstrip che producono programmi molto lunghi e come tale poco agevoli.
In tal senso ho preferito gestire il tutto con più form su una stessa videata ,di cui uno fisso e e altri montabili alla bisogna con un sistema di questo tipo: formB.hide, formB'.show;
viene fuori un video come in fig1, patricolarmente semplice da gesire.
Attualmente stavo provando a creare un menu legato alla forn A della fig allegata  da poter utilizzare anche per cambiare i vari form.
Il form A porta un menu: menu1 menu2 menu3 menu4 (in una fase successiva pongo height di A=0 ossa il form a contiene solo il menu ma ciò non influenza quello che vado a dire:         
 menu1 menu2 menu3 menu4     attivato con le seguenti specifiche
                                                                              nome,caption ,visible, emnable e translate
                                                     funziona 
 menu1 menu2 menu3 Utility        con le stesse specifiche da il seguente errore: 
stato dello stack            (/codice nativo) ...........ed il prog si blocca
sostituendo il menu con menu1 menu2 menu3 Utiliti  funziona di nuovo

Aggiungendo una sottovoce di utiliti  setup (voce con cui cerco di sostituire il form B con FSetup) Fsetup non tiene conto di width ed height W.x e W.y  assegnategli e disegna il nuovo form fuori schermo.
Spero che ora sia sufficenteme chiaro se non lo è t'invio su prog ad hoc.
giorgio

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.248
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: bug sul menù
« Risposta #3 il: 01 Ottobre 2014, 17:22:04 »
Non si tratta semplicemente di codice......  :hard: allega un programma molto ridotto, ma che riproduca tutti gli errori da te evidenziati.  
« 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 giob1642

  • Grande Gambero
  • ***
  • Post: 159
    • Mostra profilo
Re: bug sul menù
« Risposta #4 il: 01 Ottobre 2014, 17:41:08 »
Ok, l'avevo previsto e preparato
giorgio

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.248
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: bug sul menù
« Risposta #5 il: 01 Ottobre 2014, 21:12:01 »
Confermo il problema da te segnalato.
Ho notato, però, che non è la lettera "y" in sé a generare il problema, bensì proprio la parola "utility" o "Utility".
Infatti, scrivendo - ad esempio - "Uility" oppure "Utily" l'errore non viene sollevato.

Forse la parola "Utility" va in conflitto con qualcosa che porta lo stesso nome nei sorgenti dell'IDE...   :-\

La cosa strana è che se io creo un progetto analogo (con il solo Form principale), ed uso la parola "Utility" in una voce del Menu, non viene solevato alcun errore.
« Ultima modifica: 01 Ottobre 2014, 21:22:56 da vuott »
« 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 giob1642

  • Grande Gambero
  • ***
  • Post: 159
    • Mostra profilo
Re: bug sul menù
« Risposta #6 il: 01 Ottobre 2014, 22:45:23 »
............................................ e allora
giorgio

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.248
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: bug sul menù
« Risposta #7 il: 01 Ottobre 2014, 22:57:31 »
La questione è alquanto strana.
Ho trasmesso il tuo progetto alla Mailing List ufficiale per una eventuale loro opinione al riguardo.

Restiamo in attesa, dunque, se qualcuno risponderà.
« 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 giob1642

  • Grande Gambero
  • ***
  • Post: 159
    • Mostra profilo
Re: bug sul menù
« Risposta #8 il: 02 Ottobre 2014, 00:57:42 »
Ero certo del tuo interessamento e ti sono grato.
A seguito di questo bug mi piacerebbe passare un po di tempo a guardare i sorgenti di Gambas; non è agevole però muoversi tra i numerosi programmi,librerie ecc. che compongono la realese. Sai se per caso c'è una lista che spiega la cronologia dei vari passaggi di make?
grazie giorgio

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.248
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: bug sul menù
« Risposta #9 il: 02 Ottobre 2014, 01:30:37 »
Ti riporto di seguito fedelmente le varie risposte al quesito posto nella M.L.:

" This is because the menu name is "Utility" and the project options say that
"form controls are public".

So what happens is: the compiler creates public variables in the form which
have the name of the controls in the form (I guess), so that the programmer
can write FMain.myMenu to access their menu control. But Utility is actually
a boolean property of the Form class already from which FMain inherits, so
the not-so-strange "incorrectly overridden" error is raised.

Our friend did two things wrong here: normally, you shouldn't tick the "form
controls are public" checkbox. Indeed the program seems to not need it at
all. It's the same as having everything be a global variable -- it nullifies
the principle of encapsulation.

The second thing is to violate the Gambas naming conventions :-) Calling a
thing "Utility" asks for trouble, "mnuUtility" would be fine.

Regards,
Tobi
"


" Apropos Gambas naming conventions - is it written any place? I see
people using h, $ frequently and also i, s and b for integer, string and
boolean.Most of these are OK, but I do not fully understand where you
normally put the $?

Jørn
"


" They are here: http://gambaswiki.org/wiki/doc/naming .
There is a note at the end of the page which is quite
important. The Gambas IDE is the single definitive reference if you really
want to have an overview of all (or some) of the prefixes for graphical
controls. I tend to forget these prefixes regularly and use slightly
different ones (whatever sounds right). I guess nobody is expected to dive
into the IDE to look up the correct prefix for a control :-)

Tobi
"


" Actually it would be quite nice if the IDE were to default control names to the "acceptable" prefixes rather than the control name.  For example "grd1" rather than "GridView1" etc.

(hint! :-) )

regards
Bruce
"


" Not necessarily good idea as default, but good idea as option. Since some
people use Gambas also for quick prototyping and then names like
"GridView1" are much handier, than trying to remember what the official
prefix was.

Jussi
"
« 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 giob1642

  • Grande Gambero
  • ***
  • Post: 159
    • Mostra profilo
Re: bug sul menù
« Risposta #10 il: 02 Ottobre 2014, 10:34:58 »
Prima di tutto grazie.
il problema è risolto per metà; infatti  sostituendo utility con myutility ill programma non si blocca al premere myutility.
Come sottovoce di myUtility ho setup ;  e la  chiamata  seguente non funziona  ne se al menù c'è setup o mysetup.
Public Sub mysetup_Click()
  BB.cForm.Close
  BB.cForm = New FSetup(Me)
  BB.cForm.show
End
............................ nella mia precedente ti chiedevo anche un altra cosa .....
giorgio

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.248
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: bug sul menù
« Risposta #11 il: 03 Ottobre 2014, 02:23:37 »
Sai se per caso c'è una lista che spiega la cronologia dei vari passaggi di make?
Non sono il più adatto, purtroppo, a dare una risposta a questa domanda.   :-\
« 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 giob1642

  • Grande Gambero
  • ***
  • Post: 159
    • Mostra profilo
Re: bug sul menù
« Risposta #12 il: 04 Ottobre 2014, 10:38:41 »
Torno sul problema iniziale, secondo me c'è ancora un bug che si evidenzia con sui puntatori dei vari form  (vd. prog. allegato provando col menu a montare le varie finestre ) ,il secondo  form viene montato in posizione errata. 
Su l'altro problema che ti accennavo, l'ho risolto  tramite un articolo trovato in rete ed è talmente interessante che lo pubblicherò su "programmazione in generale"
giorgio

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.248
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: bug sul menù
« Risposta #13 il: 04 Ottobre 2014, 13:11:24 »
.... un articolo trovato in rete ed è talmente interessante che lo pubblicherò su "programmazione in generale"
Molto bene.
« 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. »