Ottenere il puntatore direttamente ai dati associati a una Struttura

Da Gambas-it.org - Wikipedia.

Per ottenere l'indirizzo dei memoria dei dati associati a una Struttura [nota 1], si può usare il Metodo ".Data()" della Classe Object :

Object.Data(Oggetto As Object) As Pointer

In particolare tale Metodo ritorna l'indirizzo di memoria del primo membro della Struttura.
Per ottenere gli indirizzi di memoria dei restanti membri della Struttura, sarà necessario adottare l'aritmetica dei Puntatori avendo riguardo agli eventuali salti dovuti agli allineamenti di byte in memoria.
Pertanto, per ottenere il valore contenuto in un membro della Struttura si dovrà dereferenziare il Puntatore ritornato dal Metodo "Object.Data()".


Note

[1] Vedere anche la seguente pagina: Ottenere il puntatore di una variabile di tipo Struttura