Italian [RISOLTO] Stranezza Panel_Touch non intercettato

Star-Dust

Expert
Licensed User
Longtime User
Buonasera a tutti,

In una mia classe ho inserito la creazione di un pannello. Quando cerco di intercettare l'evento Touch con Panel_Touch (Action As Int, X As Float, Y As Float) non solleva l'evento.
B4X:
PanelFirma.Initialize("PanelFirma")
Box.AddView(PanelFirma,20dip,50dip,Larghezza-40dip,180dip)
Ho fatto questa modifica
B4X:
PanelFirma.Initialize("")
Box.AddView(PanelFirma,20dip,50dip,Larghezza-40dip,180dip)

Dim obj As Reflector
obj.Target = PanelFirma
obj.SetOnTouchListener("PanelFirma_Touch")
Ho modificato l'evento sollevato con lo stesso nome ... e così funziona... qualcuno sa dirmi il perchè?
 

LucaMs

Expert
Licensed User
Longtime User
Dipenderà da qualche altra view o codice nel progetto. Notoriamente, oramai, la mia memoria è scarsa ma vagamente ricordo casi in cui fui costretto ad usare la reflection... il guaio è che non ricordo il motivo :):(.

Cmq, dipende dal "contorno" sicuramente (infatti, se provi il primo codice in un'app di test vedrai che funzionerà).
 

Star-Dust

Expert
Licensed User
Longtime User
Cmq con la mia modifica funziona, adesso sto lavorando sull'ultima class TreeViewDialogs, se mai la finirò
 

LucaMs

Expert
Licensed User
Longtime User
Beh, testa il codice di @stevel05, vedi se funziona (suppongo di sì, non scrive cavolate come me :D).

Quello che mi è saltato all'occhio è che nel codice, pubblicato da entrambi voi due, però, il nome della variabile che conterrà il nome evento è Event ed è visualizzato come una parola chiave; non vorrei che fosse questo il problema e bastasse chiamarlo mEvent (con m come prefisso per variabile di modulo).
Ma se fosse così non funzionerebbe nemmeno il codice di @stevel05, a meno che nel suo non ci sia altro, non l'ho "letto".
 

Star-Dust

Expert
Licensed User
Longtime User
Prima la parola chiave si chiamava diversamente e dava lo stesso problema. Stevel ha tolto le parti grafiche, se le tolgo e funziona non ho risolto... mi sono incasinato :confused::confused::confused:
 

Star-Dust

Expert
Licensed User
Longtime User
1) che sarebbe?
2) chi te lo fa fare? :)
Una finestra di dialogo che permette di inserire una lista ad albero come quella che potrebbe servire per una directory. Sono arrivato a 8 tipi di Dialog diversi nella mia library. MsgBox, InputBox, DateDialog, FileDIalog, TimeDialog, ColorDialog, ListDialog,SignatureDialog, TreeDialog
 

Star-Dust

Expert
Licensed User
Longtime User
Beh, testa il codice di @stevel05, vedi se funziona (suppongo di sì, non scrive cavolate come me :D).

Quello che mi è saltato all'occhio è che nel codice, pubblicato da entrambi voi due, però, il nome della variabile che conterrà il nome evento è Event ed è visualizzato come una parola chiave; non vorrei che fosse questo il problema e bastasse chiamarlo mEvent (con m come prefisso per variabile di modulo).
Ma se fosse così non funzionerebbe nemmeno il codice di @stevel05, a meno che nel suo non ci sia altro, non l'ho "letto".
Non mi funziona nessun Panel_Touch anche gli altri con altri nomi.
 

Star-Dust

Expert
Licensed User
Longtime User
1) che sarebbe?
2) chi te lo fa fare? :)
Dopo tanto sbattere, sembra che se la tolgo dal mio progetto e la metto su un altro...vuoto funziona. La reinserisco sul mio , insieme ad altre classi, allora da questo problema. Da considerare che sull'activity non c'è molto visto che é una libreria.
Le classi fra di loro litigano? Invidia? Orgoglio? Competizione? Spirito di contraddizione?
Mi arrendo , lascio la modifica che almeno lo fa funzionare... senza capirne il perché....
 

LucaMs

Expert
Licensed User
Longtime User
Da considerare che sull'activity non c'è molto visto che é una libreria.
Ma qusi certamente passi l'activity alla libreria.

Ci saranno conflitti tra le view che la libreria crea o i suoi eventi.


Non mi funziona nessun Panel_Touch anche gli altri con altri nomi.
Con "nessun" intendi né col normale metodo né con la reflection oppure nessun evento Panel_Touch in nessuna classe?
 

Star-Dust

Expert
Licensed User
Longtime User
Può darsi che fa conflitto, cmq inizializzo solo questa classe perché entro solo in questa, le altre ci sono ma nemmeno le dimensiono. Le dim sono dentro i bottoni che non clicco. Nel mio test uso solo SignDialog.

Con la reflection funziona. Nessun touch dei pannelli di questa classe.
 

Star-Dust

Expert
Licensed User
Longtime User
Concordo con te
 

Star-Dust

Expert
Licensed User
Longtime User
Sono passato alla treevieew dialog che ho visto sulle wish che ti serve...
 

LucaMs

Expert
Licensed User
Longtime User
Sono passato alla treevieew dialog che ho visto sulle wish che ti serve...
No, mi servirebbe che Erel usasse una Treeview nel tab Modules, ovvero per il progetto (e magari mettesse qui i file della Assets).

Mi domando come mai non l'abbia fatto dall'inizio e come mai non lo faccia adesso (io lo chiesi parecchio tempo fà e magari non fui nemmeno il primo).

Non penso sia complicato; probabilmente per come ha sviluppato l'IDE lo è, ma non ha mai risposto.
 

Star-Dust

Expert
Licensed User
Longtime User
Ho visto che gia 3 o 4 anni fa qualcun altro lo ha chiesto... come te
 

Star-Dust

Expert
Licensed User
Longtime User
No, mi servirebbe che Erel usasse una Treeview nel tab Modules, ovvero per il progetto (e magari mettesse qui i file della Assets).

Mi domando come mai non l'abbia fatto dall'inizio e come mai non lo faccia adesso (io lo chiesi parecchio tempo fà e magari non fui nemmeno il primo).

Non penso sia complicato; probabilmente per come ha sviluppato l'IDE lo è, ma non ha mai risposto.
allora lascio perdere la mia TreeView Dialog.. non serve...a dire il vero non metterò nemmeno la Number Dialog
 
Top