Ora che sto introducendo sempre più la programmazione tramite classi in vecchi progetti che facevano largo uso di strutture ed accesso ai dati tramite la modalità precedentemente descritta, mi ritrovo con un problema diciamo fastidioso: le strutture di dati non si possono passare come argomenti ad una procedura di classe nè si possono avere associate ad una variabile di ritorno da una funzione. L'unico modo per avere accesso dentro ad una classe è quello di rendere la struttura e relativa variabile associata visibile a livello globale
Esempio:
- Codice: Seleziona tutto
'Modulo globale
TYPE Struct
a as integer
b as integer
c as integer
END TYPE
'Funzione all'interno di una classe
Public function MiaFunc() as Struct '-> Ritorna errore
public Sub MiaSub(St as Struct) '-> Ritorna errore
Questa cosa purtroppo costringe a replicare tutte le variabili di una struttura con una classe che espone altrettante proprietà, il che oltre ad essere un lavoro "in più", rallenta notevolmente l'esecuzione quando si caricano centinaia di record da un file binario utilizzando appunto un'array di strutture.
Solo io ho questo problema? Non vi è mai capitato di dover incrociare classi e variabili a struttura? Come avete risolto? Ma soprattutto....sono riuscito a spiegarmi???