Ma è la stessa proprietà! e nell'ide la puoi cambiare anche dopo aver istanziato l'oggetto!
Tu fai confusione, ma non è colpa tua.
Nella colonna di destra dell'IDE c'è la scheda chiamata "Proprietà", ed è questo che genera appunto un po' di confusione.
Infatti sono presenti, proprio all'inizio dell'elenco, le definizioni:
- "
Class", ma la Classe di appartenenza dell'Oggetto non è una "proprietà" dell'Oggetto medesimo, essendo in vero la "Proprietà" una risorsa della Classe (così come i Metodi e gli Eventi);
- "
Name", ed è l'elemento al quale tu fai riferimento. Se però fai attenzione, in realtà questo nome si riferisce alla "variabile" del tipo dell'Oggetto prescelto, che quindi punta a quell'Oggetto.... alla Struttura costitutiva dell'oggetto in questione. Pertanto NON è una proprietà dell'Oggetto. Insomma è come se io scrivessi:
Dim abc As Integer: ecco "abc" è quel "Name" che vedi nell'IDE.
- "Group", ma anche in questo caso il Gruppo degli Eventi non è una Proprietà in senso stretto dell'Oggetto.
Poi vengono gli altri elementi che sono vere e proprie Proprietà dell'Oggetto. Nel caso del
Button abbiamo anche la Proprietà ".Name".... che non è il secondo elemento nella scheda dell'IDE (abbiamo già detto che quello è il nome della Variabile del tipo dell'Oggetto prescelto !).
Pertanto, se la variabile che rappresenta l'Oggetto
Button, ad esempio, si chiamerà "BT_Quit", l'assegnazione di una stringa di caratteri alla sua Proprietà ".Name", ad esempio:
è un po' come assegnare all'Oggetto una sorta di etichetta.
Voglio dire che tu NON muti il nome della Variabile che punta alle risorse dell'Oggetto di tipo "Button", che hai voluto creare.
Il nome di una Variabile non è altro che l'
alter-ego di una porzione di memoria riservata, la cui prima cella (di tale memoria) è puntata/rappresentata da questo elemento che noi chiamiamo Variabile.
Se tu crei un Oggetto, gli assegni automaticamente una Variabile (esempio: "BT_Quit") che punta alla prima cella di quella porzione di memoria, che così si è venuta a destinare, per "accogliere" tutto quanto (i dati) necessario affinché quell'Oggetto esista.
Se per esempio al Button tu gli assegni un colore di Background.... dove (in quale luogo della memoria) credi sarà scritto il valore del colore da te scelto ? ...all'interno di una sub-struttura della Struttura che costituisce l'impalcatura di ciò che chiamiamo "Oggetto".
L'Oggetto non è altro che una non-piccola porzione della memoria allocata per i dati che l'Oggetto medesimo dovrà avere, nonché i Metodi, etc..
Se vuoi modificare il nome di una Variabile, significa che vuoi... cambiare Variabile, crearne insomma un'altra; e quindi usare, sì, una medesima quantità di memoria,
ma allocata
altrove all'interno della memoria.
Dunque, il
nome della Variabile del tuo Button corrisponderà all'
elemento "Name" della scheda nell'IDE di Gambas; INVECE la vera "Proprietà" chiamata "
.Name", capace in scrittura e in lettura di contenere un dato di tipo
String, sarà in sostanza posta all'interno di quella Variabile (o meglio della porzione di memoria rappresentata dalla Variabile del
Button).
...non so se mi spiego, kicco !
vedi anche per mera analogia:
https://www.gambas-it.org/wiki/index.php?title=Configurazione,_organizzazione_ed_impostazione_dell%27oggetto_Image_secondo_i_sorgenti_di_Gambashttp://www.gambas-it.org/wiki/index.php?title=Leggere_le_informazioni_di_una_Image_dalle_sue_risorse_dei_sorgenti_di_Gambashttp://www.gambas-it.org/smf/index.php?topic=7084.msg46021#msg46021