dunque, come si stava dicendo:
due progettini piccoli piccoli uguali uguali, un form con un timer e un pulsante per chiudere:
VB6.0:
Private Sub Command1_Click()
Unload Me
End
End Sub
Private Sub Timer1_Timer()
Static s As Boolean
s = True
End Sub
VB2008:
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Application.Exit()
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Static s As Boolean
s = True
End Sub
End Class
spazio occupato in memoria da VB6.0: 1.560 KB
spazio occupato in memoria da VB2008: 9.876 Kb !!!! poco meno della metà di Excel
come si diceva: alla faccia della ottimizzazione del codice![]()
![]()
![]()
una vera cagata, se mi è consentito, oserei quasi dire una vergogna: è vero che con le dimensioni delle RAM attuali non è nulla, ma è il principio... che un eseguibile da 100Kb occupi più memoria di Word e Excel è assurdo.
devo però dire che in questo caso lo spazio occupato in memoria non varia: nel programma di cui parlavo prima, quello che aumenta la memoria occupata ad ogni ciclo del timer, l' unico codice che viene letto nella routine del timer è un controllo di files aperto:
Try
TestAA = Process.GetProcessesByName("XYZ")
Select Case TestAA.Length
Case 0 : exit sub 'e qui esce perché il file è XYZ chiuso
volete dire che ogni volta che testa occupa sempre più memoria?? e perché mai??