Mi piacerebbe sapere se esiste un modo in Gambas per liberare, in particolare, la memoria occupata dagli oggetti Image.
Mi spiego meglio; ho notato che con le applicazioni Gambas, che usano Gtk, è presente un bug con gli oggetti Image e Picture che si presenta quando vengono caricate immagini senza Alpha Channel.
Quando si caricano queste immagini ad es in una PictureBox tramite variabili locali..queste rimangono in eterno in memoria, portando alla saturazione della memoria RAM!
Leggendo le note di rilascio di Gambas 3.5.2 sembra che da quella versione il bug sia stato risolto, anche se non l'ho testato personalmente
Il mio problema è che io avrei la necessità di fare girare correttamente i miei programmini, anche sulle versioni precedenti di Gambas con le Gtk!
Vi lascio un codice di esempio che mette in evidenza il problema, (basta trascinare una immagine sulla PictureBox per vedere dal Monitor di sistema il processo gbx3 schizzare tra i primi posti come memoria occupata! :-P)
Public Sub Form_Open()
PictureBox1.Drop = True
End
Public Sub PictureBox1_Drop()
Dim image_file As Image
Dim images_file_drop As String[]
Dim image_file_drop As String
Dim i As Integer
images_file_drop = Split(Drag.Data, "\r\n", "", True)
For i = 0 To 30
For Each image_file_drop In images_file_drop
image_file_drop = Right(image_file_drop, Len(image_file_drop) - 7)
image_file = Image.Load(image_file_drop)
PictureBox1.Picture = image_file.Picture
Next
Next
End