La variabile può essere anche solo definita:
"PUBLIC variabile AS TIPO"
quando la si vuole usare, si usa la parolina chiave NEW, altrimenti và subito in errore.
Questo è sicuramente vero con gli oggetti, ma in alcuni casi e linguaggi, i tipi più a basso livello di solito vengono inizializzati ad un valore di default, come ad esempio:
int = default 0;
char = default stringa vuota.
per gli oggetti, almeno in gambas, la variabile solo definita assume valore indefinito, in pratica è come se non esistesse. A questa può essere assegnato un valore nullo (=NULL), in questo caso la variabile assume un'entità reale ma, ad ogni modo non è ancora instanziata; con NEW viene effettivamente creato l'oggetto in memoria e diventa attivo a tutti gli effetti.
In nostro amico, a parte l'errore di assegnazione, aveva correttamente definito le variabili come proprietà dell'oggetto, impostandole all'inizio del file, e nel metodo poi ha creato effettivamente l'oggetto; la logica dice che deve funzionare così, e nei miei programmi è costruito tutto in quel modo e funziona. Nella discussione ho l'impressione che sia sfuggito qualcosa, come la svista di assegnazione, oppure nel segmento di codice manca qualche istruzione non riportata... non sò...
L'ora tarda mi annebbia la vista e la mente, e probabilmente non riesco a vedere esattamente qual'è il problema.