Vero GianLuigi
Ti inserisco la parte del codice interessata:
SalvaHeader.ShowModal
Anno$ = Year(Now)
Anno$ = Right$(Anno$, 2)
CodCliente = FNormale.serv$[FNormale.NumCliente, 4]
Print SalvaHeader.MeseText
FileName = "DDT" & CodCliente & "@" & SalvaHeader.MeseText & Anno$ & ".dbl"
Print FileName
il codice della classe SalvaHeader:
''################################################################### Menu per la scelta del mese di fatturazione #####
Public MeseText As String = Null '##### Numero del mese in formato stringa #####
Private PuntMese As Integer '##### Puntatore al numero del mese corrente #####
Public SwFormClosed As Boolean = False '##### Switch di conferma di scelta effettuata #####
Public Sub _New()
ASSEGNAZIONI()
End
Public Sub ASSEGNAZIONI()
PuntMese = FMain.mMese$
ComboMesi.List = FMain.mese
ComboMesi.Current.Text = FMain.mese[PuntMese]
End
Public Sub ComboMesi_Click()
'#################################################################### Scelta del mese di fatturazione da ComboBox #####
Dim var$ As String '##### Variabile di comodo per riferimento alla matrice CodCapo$ #####
Dim i As Integer = 0 '##### Contatore per ciclo DO sulla matrice CodCapo$ #####
var$ = ComboMesi.Current.Text
Do
i = i + 1
Loop Until var$ = FMain.mese[i]
MeseText = i
If Len(MeseText) < 2 Then MeseText = "0" & MeseText
End
Public Sub ButtonOk_Click()
'################################################################### Conferma del mese scelto per la fatturazione #####
PuntMese = FMain.mMese$
If MeseText = Null
MeseText = PuntMese
If Len(MeseText) < 2 Then MeseText = "0" & MeseText
Endif
SwFormClosed = True
Print MeseText
SalvaHeader.Close
End
ed il responso della console sui tre print che ho inserito per vedere come reagiva la variabile interessata:
Come vedi nei due listati, il primo print ad essere eseguito è quello della classe SalvaHeader.class, nel report della Console come puoi vedere compare il numero
10 ciò vuol dire che la variabile è settata (in questo caso con il valore di default), continuando con lo sviluppo del codice si arriva al secondo print, come puoi vedere nel primo listato, che è inserito nella classe FNormale.class, questo secondo print non fa altro che interrogare la stessa variabile di prima, ma come vedi il secondo responso della console è una stringa vuota, ciò vuol dire che la variabile non è passata ed infatti il terzo print stampa il nome che dovrebbe essere dato al file da creare o da aprire, ma quest'ultimo è sbagliato, infatti dovrebbe essere
DDTcon@1017.dbl.
La variabile MeseText è comunque una dichiarata come
string e
Public, ragion per cui dovrebbe passare e già nel formato adeguato alla elaborazione successiva, ecco il perche della domanda precedente, spiegandomi un po' meglio (li ero effettivamente un po' criptico), quando si apre un form in modale le variabili dichiarate
Public passano normalmente o ci sono delle diversità?
Mamma che pizza che vi ho scritto!
Ciaooooo