Mi sono trovato davanti alla seguente situazione :
1) La FMain chiama la Form01
2) La Form01 prepara il titolo (di contenuto non costante) per la Form02 e restituisce il controllo alla FMain
3) La FMain chiama la Form02
4) La Form02 riempie il Me.Text col valore preparato dalla Form01
Quando ho iniziato la stesura del codice per la Form01, questa preparava il titolo alla Form02 con
Form02.Text = "Inserimento Movimenti del : " & DtContGG.Text & " - " & DtContMM.Text & " - " & DtContAA.Text
Dato che ora sto via via modificando tutti i passaggi di variabili e costanti tra form attraverso classi esterne o attraverso il metodo new, ho voluto modificare anche la suddetta istruzione. Ho anche voluto evitare un doppio passaggio di valori , dalla Form01 alla FMain e da quest'ultima alla Form02, creando una classe "Variabili", nella quale valorizzo la variabile interessata o ne prelevo il contenuto solamente all'occorrenza.
Nella Classe "Variabili:
STATIC PUBLIC $TextOut AS String
STATIC PUBLIC FUNCTION FormText($TextIn AS String) AS String
'-------------------------------------------------------------------------
$TextOut = $TextIn
RETURN $TextOut
END
Nella Form01, per la valorizzazione:
DIM $FrmTxt AS Variabili
. . . . . . . . . . . . . . . . . . . . . . .
Variabili.FormText("Inserimento Movimenti del : " & DtContGG.Text & " - " & DtContMM.Text & " - " & DtContAA.Text)
Nella Form02, per prelevare il contenuto della variabile
DIM $FrmTxt AS Variabili
. . . . . . . . . . . . . . . . . . . . . . .
ME.Text = Variabili.$TextOut
Funziona perfettamente, ma mi sorge il seguente dubbio: utilizzando classi statiche, per valorizzare variabili (statiche), da tenere in memoria, per utilizzarle più avanti, ma per un tempo ristretto, rispetto a tutta la durata del programma, non è come se usassi variabili globali?
É un aspetto molto importante che mi permetterebbe di capire la differenza, se c'è una differenza, fra variabili globali e variabili statiche. Qualcuno potrà dirmi: ma come, ancora non hai capito? Pirtroppo, rispondo, mi sembrava di avere capito, ma ora mi sono accorto, invece, che non è così.