Spanish B4J - Como invocar a otra AppStar que se encuentra en otro módulo?

fchirico

Member
En el Módulo Principal (MAIN) tengo un Menú y por ejemplo si el usuario selecciona la opción "Factura/NC a PDF" debe ejecutarse el modulo "ComprobantesPDF":

B4X:
Sub MenuBar1_Action
    Dim MI As MenuItem = Sender
    Log(MI.Text)
    Select MI.Text
        Case "_AltaUsuario"
            Log("Alta de Usuario")
        Case "Admin"
            Log("Sub Item1 Action")
        Case "_BajaUsuario"
            Log("Baja de Usuario")
        Case "_ModificarClave"
            MainForm.RootPane.RemoveAllNodes
            MainForm.RootPane.LoadLayout("Cambio_Clave")
            MainForm.Title = MainForm.Title & " (" & cUSR_usuario & ")"
            Return
        Case "Factura/NC a PDF"  '========  VER AQUI  ================
            'Acá tengo que lograr que se ejecute el módulo "ComprobantesPDF",
            'es decir necesito que tome las variables globales de ese modulo y que llame
            'al FORM "ComprobantesPDF"
        Case "_Cerrar"
            ExitApplication
    End Select
End Sub

Y el Módulo "ComprobantesPDF" es este (es solo un fragmento del código total):

B4X:
'Static code module
Sub Process_Globals
    Private fx As JFX
    Private MainForm As Form
    Private TableView1 As TableView
    Private txtId As TextField
    Private txtValue As TextField
    Private btnUpdate As Button
    Private TableView1 As TableView
End Sub

Sub AppStart (Form2 As Form, Args() As String)
    MainForm = Form2
    MainForm.RootPane.LoadLayout("ComprobantesPDF") 'Load the layout file.
    MainForm.Show
    'set the columns
    TableView1.SetColumns(Array As String("ID", "Value","Nombre","Apellido","Edad","Ciudad","Provincia","Pais"))
    'fill with data
    For i = 1 To 1000
        Dim row() As Object = CreateRow(Array As String("Item #" & NumberFormat(i, 3, 0), i, "Fernando","Chirico",i,"Buenos Aires", "Buenos Airesss","Argentina"))
        TableView1.Items.Add(row)
    Next
    SetColumnStyle(1, "-fx-alignment: CENTER;")
End Sub


Sub txtValue_Action
    btnUpdate_Action
End Sub

Sub btnUpdate_Action
    If TableView1.SelectedRow = -1 Then Return
    SetCellValue(TableView1.SelectedRow, 1, txtValue.Text)
End Sub
 
Top