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???



Ho letto altre lamentele dello stesso tipo su altre community.
) e mi ha chiesto come si faceva ad inserire in un ciclo for: tentando di spiegargli che forse era meglio strutturare il tutto in modo diverso, utilizzando un timer di sistema, mi ha detto "no, no, no, usando un ciclo do:loop con un timer che esce quando sono passati i dieci secondi!"
Ma nel frattempo mi serve la pagnotta e quindi faccio quel che posso con VB![Non ho parole [NHP]](http://www.megalab.it/forum/images/smilies/dots.gif)
![Brindisi [brindisi]](http://www.megalab.it/forum/images/smilies/cheers.gif)