Differenze tra le versioni di "Utilizzare un Componente obsoleto"
(3 versioni intermedie di uno stesso utente non sono mostrate) | |||
Riga 5: | Riga 5: | ||
Eppure, qualora tali Componenti obsoleti non siano stati definitivamente eliminati dai sorgenti di Gambas <SUP>[[[#Note|nota 2]]]</sup>, è possibile richiamarli e quasi sempre utilizzare le loro ''Classi''. | Eppure, qualora tali Componenti obsoleti non siano stati definitivamente eliminati dai sorgenti di Gambas <SUP>[[[#Note|nota 2]]]</sup>, è possibile richiamarli e quasi sempre utilizzare le loro ''Classi''. | ||
− | + | Il richiamo ed uso dei ''Componenti'' ormai obsoleti può avvenire da codice <SUP>[[[#Note|nota 3]]]</sup>, purché - come già detto - non siano stati definitivamente estromessi dai sorgenti di Gambas. | |
− | |||
− | |||
− | |||
− | Il richiamo ed uso dei ''Componenti'' ormai obsoleti può avvenire | ||
Nel progetto Gambas si dovrà fare uso delle ''Classi'': | Nel progetto Gambas si dovrà fare uso delle ''Classi'': | ||
Riga 17: | Riga 13: | ||
− | Mostriamo un esempio pratico, nel quale si richiamerà l'ormai obsoleto e disattivato Componente "''gb.sdl.sound''" e si utilizzeranno alcune risorse della sua Classe ''Music'' per eseguire un file audio | + | Mostriamo un esempio pratico, nel quale si richiamerà l'ormai obsoleto e disattivato Componente "''gb.sdl.sound''" e si utilizzeranno alcune risorse della sua Classe ''Music'' per eseguire un file audio: |
Private cl As Class | Private cl As Class | ||
Private esce As Boolean | Private esce As Boolean | ||
Riga 28: | Riga 24: | ||
Dim b As Byte | Dim b As Byte | ||
− | <FONT Color=gray>' ''Imposta il percorso del file audio ( | + | <FONT Color=gray>' ''Imposta il percorso del file audio (FLAC, OGG, WAV):''</font> |
percorso_file = "<FONT Color=darkgreen>''/percorso/del/file''</font>" | percorso_file = "<FONT Color=darkgreen>''/percorso/del/file''</font>" | ||
Versione attuale delle 04:20, 18 nov 2024
Come è noto, qualche Componente, attivo nelle precedenti versioni di Gambas, oggi è invece considerato obsoleto, e pertanto è stato disattivato. [nota 1]
Tali Componenti obsoleti non sono più disponibili nell'apposita sezione dell'IDE fra quelli forniti dalla corrente versione di Gambas, e non sono più utilizzabili nei progetti.
Eppure, qualora tali Componenti obsoleti non siano stati definitivamente eliminati dai sorgenti di Gambas [nota 2], è possibile richiamarli e quasi sempre utilizzare le loro Classi.
Il richiamo ed uso dei Componenti ormai obsoleti può avvenire da codice [nota 3], purché - come già detto - non siano stati definitivamente estromessi dai sorgenti di Gambas.
Nel progetto Gambas si dovrà fare uso delle Classi:
- " Component ", per richiamare il Componente obsoleto;
- " Class ", per richiamare la Classe che ci interessa di quel Componente obsoleto;
- " Object ", per richiamare Metodi e Proprietà della Classe utilizzata del Componente obsoleto.
Mostriamo un esempio pratico, nel quale si richiamerà l'ormai obsoleto e disattivato Componente "gb.sdl.sound" e si utilizzeranno alcune risorse della sua Classe Music per eseguire un file audio:
Private cl As Class Private esce As Boolean Public Sub Main() Dim sym, percorso_file As String Dim co As Component Dim b As Byte ' Imposta il percorso del file audio (FLAC, OGG, WAV): percorso_file = "/percorso/del/file" ' Carica innanzitutto il Componente "obsoleto" necessario per utilizzare la Classe che permetterà di eseguire il file: co = Component.Load("gb.sdl.sound") ' Carica quindi la Classe che permetterà di eseguire il file: cl = Class.Load("Music") Print "Simboli (\"Costanti\", \"Proprietà\", \"Metodi\" e \"Eventi\") posseduti e gestiti da '\e[34m"; co.Name; "\e[0m':" For Each sym In cl.Symbols Print b, sym Inc b Next Print Print ' Carica infine i Metodi specifici della Classe necessari per caricare ed eseguire il file: Object.Call(cl, cl.Symbols[1], [percorso_file]) Object.Call(cl, cl.Symbols[2], Null) While Not esce ' Richiama anche la Proprietà ".Pos" della Classe "Music" per sapere la currente posizione temporale dell'esecuzione: Write "\e[0m\r Tempo trascorso: \e[31m" & Str(Time(0, 0, 0, Object.GetProperty(cl, cl.Symbols[0]) * 1000)) Wait 0.01 Wend Write "\nEsecuzione terminata" Quit End Public Sub Application_Read() ' Premendo il tasto "Invio" della tastiera, termina l'esecuzione del file: Object.Call(cl, cl.Symbols[3], Null) esce = True End
Note
[1] La lista dei Componenti di Gambas sino a oggi dichiarati obsoleti: https://gambaswiki.org/wiki/comp-deprecated?l=it
[2] Minisini ha spiegato brevemente perché i Componenti obsoleti non vengono rimossi dall'architettura dello sviluppo di Gambas in questa discussione della Mailing list ufficiale: https://lists.gambas-basic.org/pipermail/user/2020-June/069507.html
[3] Vedere anche questa pagina: Attivare un Componente dinamicamente da codice