Italian Dichiarazione Classe

Fulvio75

Well-Known Member
Licensed User
Ciao, ho una dichiarazione di classe che a seconda di come si apre l'app deve essere differente:

ho bisogno di una cosa del genere se si può fare

B4X:
Sub Class_Globals
    
    if appSettings.testmode = true then
        private ClassePippo as clsPippoTest
    else
        private ClassePippo as clsPippo
    end
end
 

Star-Dust

Expert
Licensed User
Longtime User
Ciao,

specifica il come si apre. Intendi per esempio modalità debug o release? Vuoi farlo aprire in una versione Test? o cos'altro?
 

Filippo

Expert
Licensed User
Longtime User
Ciao, ho una dichiarazione di classe che a seconda di come si apre l'app deve essere differente:

ho bisogno di una cosa del genere se si può fare

B4X:
Sub Class_Globals
  
    if appSettings.testmode = true then
        private ClassePippo as clsPippoTest
    else
        private ClassePippo as clsPippo
    end
end
B4X:
Sub Class_Globals

End Sub


Public Sub Initialize(IsTest as Boolean)

    if IsTest then
        '....
    else
        '....
    end if

End Sub
 

Fulvio75

Well-Known Member
Licensed User
E' dentro il Class_Global come scritto, la ClassePippo ha lo stesso nome variabile quindi ClassePippo ma AS è una classe differente a seconda di una varibile impostata nelle impostazioni

B4X:
Sub Class_Globals

    if appSettings.testmode = true then

        private ClassePippo as clsPippoTest

    else

        private ClassePippo as clsPippo

    end
   
end

Devo praticamente utilizzare If in Class_Global
 
Last edited:

LucaMs

Expert
Licensed User
Longtime User
Probabilmente, visti i nomi, ha ragione @Star-Dust e dovresti usare la compilazione condizionata.

Nota che la variabile ClassePippo è un (punta a) oggetto, quindi magari un nome migliore sarebbe objPippo.
B4X:
Sub Process_Globals
    #IF DEBUG
        Private objPippo As clsPippoTest
    #ELSE
        Private objPippo As clsPippo
    #End If
End Sub

Se le due classi avessero membri diversi, sarebbe un problema.
 

Fulvio75

Well-Known Member
Licensed User
Ok metto allinternondella classe un codice parallelo per il test e risolvo senza problemi con la stessa classe
 

Star-Dust

Expert
Licensed User
Longtime User
puoi usare
B4X:
#IF VARIABILE
    Private objPippo As clsPippoTest
#ELSE
    Private objPippo As clsPippo
#END IF

Sul menu Progetto e posi configura e ambiente di compilazione inserisci su simboli condizionali la variabile quando vuoi attivare PippoTest
 
Top