Italian [B4J] mamma, ho perso il modulo/form

giannimaione

Well-Known Member
Licensed User
Longtime User
siamo in ambito B4J
ho una applicazione b4j, con un modulo/form contenente una serie di BUTTON;
ogni BUTTON richiama/avvia un determinato modulo/form per esempio tabella clienti, tabella articoli, tabella agenti e ogni modulo è INDIPENDENTE dagli altri.
e fin qui non ho particolari problemi.
in questa app esiste un'altro modulo "REGISTRAZIONE ORDINE", che a suo modo funziona bene;
dove mi sono perso?
ho la necessità di "interagire" con gli altri moduli (clienti, articoli), per poter inserire/modificare quella tabella in particolare;
esempio:
durante la fase di REGISTRAZIONE ORDINE, ho l'esigenza di inserire un nuovo articolo, oppure cambiare l'indirizzo di una determinata anagrafica cliente;
il tutto "mettendo in pausa" il modulo REGISTRAZIONE ORDINE, richiamare il modulo CLIENTI, e una volta completato la modifica di una anagrafica, "risvegliare" il modulo ORDINE, consentendomi di riprendere da dove avevo lasciato.

semplice vero? purtroppo mi sono perso; ho visto vari esempi... ma mi sfugge qualcosa.
ps:
mi va bene qualsiasi soluzione, non importa in che modo richiamo i diversi moduli... posso anche rifare il tutto; RICOMINCIO DA TRE (Massimo Troisi)
 

udg

Expert
Licensed User
Longtime User
Potresti definire i moduli secondari (es. Inserisci articolo) come classi.
Dal modulo principale, magari a seguito di click su apposito tasto, richiami l'init della classe ed un suo metodo Show.
Qualcosa tipo:
B4X:
'main
...
Dim mf As clsNewPrest
mf.Initialize(MainForm, Row(0))
mf.show
.....

'classe clsNewPrest
Public Sub Initialize(Parent As Form, PrestID As Int)
    frm.Initialize("frm", 800dip, 600dip)
    frm.SetFormStyle("UTILITY")
    frm.RootPane.LoadLayout("lytNPrest")
....

Public Sub Show
    frm.ShowAndWait
End Sub
 

LucaMs

Expert
Licensed User
Longtime User
Intanto... divertentissimo il titolo 😄

Poi salto al finale:
posso anche rifare il tutto
Mi ricorda qualcuno 🤔

Se ho capito bene (come sempre 😎) durante la compilazione di un form potresti avere (avrai) dei campi che l'utente può compilare tramite una combobox, ad esempio scegliendo un Cliente, Fornitore, Prodotto, etc. e vorresti che potesse accedere alla relativa tabella, ovviamente altro form, e magari potesse anche creare un nuovo elemento...

Pausa, è arrvata la risposta di @udg... va beh, la leggo dopo.

Mi sembra che tutto ciò che devi fare è mostrare questi "form secondari" come delle dialog...

https://www.b4x.com/android/forum/threads/modal-dialogs.34656/
 

giannimaione

Well-Known Member
Licensed User
Longtime User
ho creato una app di esempio (a breve pubblico il tutto);
un FORM principale (ha la funzione di menu) da cui è possibile richiamare i diversi form/classi in modalità dialog; in questo modo il FORM principale è interdetto e questo mi va bene;
inoltre da qualsiasi form è possibile richiamare un altro form.
grazie raga;
 
Top