carissimi «oregon» & «ranza!!!123» █
Ho seguito i vostri consiglii, nuovamente;
«ranza!!!123»
NON conosco il perchè ma, oltre ad una dimensione [533790688,4902912byte]
NON riesco a dichiarere la variabile; Se vuoi modifica K1 con un numero maggiore
poi mi "appare" l'errore "memoria esaurita"......codice:rem dichiarazione vettore memoria Const K1 As Long = (1048576000 * 0,50906246995) Dim A(1 To K1) As Byte MsgBox "è stato dichiarato il vettore", , Str(Round(K1 / 1024 / 1024,5)) + "MegaByte"
«oregon»
per le l'API "GlobalAlloc" & "CopyMemory" non riesco a usarle DINAMICAMENTE...
Sono funzioni per la dichiarazione statica; (dimensioni costanti, predeterminate e non modificabile "in corsa")
Concludendo... Signori vi ringrazio ma ho trovato, una soluzione "valida"... la "REDIM"
grazie ancora... alla prossima...codice:Rem richiesta RAM Const X As Long = 1048576000 'limite memoria a variabile Dim J As Single rem inserimento richiesta memoria J = InputBox("inserire il numero di MegaByte {massimo 509Mb}") j=j/100 rem dichiarazione memoria richiesta ReDim B((X * J)) As Byte MsgBox "memoria occupata",,str(j*100) rem massima memoria per variabile ReDim Preserve B((X * (0.50906246995 - J))) As Byte MsgBox "memoria ridimensionata al massimo 533790688byte massimi",,str(0.50906246995 - J)*100) rem chiusura programma End![]()
![]()
![]()

Rispondi quotando