4D v14.3Arrays e Memória |
||||||||||||||||||||||||
|
4D v14.3
Arrays e Memória
|
Tipo de array | Fórmula para determinar a quantidade de memória utilizada em bytes |
Booleano | (31+Número de elementos)8 |
Data | (1+Número de elementos) * 6 |
Alfa (modo Unicode) | (1+Número de elementos) * (Suma do tamanho de cada texto) |
Inteiro | (1+Número de elementos) * 2 |
Inteiro longo | (1+Número de elementos) * 4 |
Imagem | (1+Número de elementos) * 4 + Soma do tamanho de cada imagem |
Ponteiro | (1+Número de elementos) * 16 |
Real | (1+Número de elementos) * 8 |
Texto (modo Unicode) | (1+Número de elementos) * 6 + Soma do tamanho de cada texto |
Duas dimensões | (1+Número de elementos) * 12 + Soma do tamanho de cada array |
Nota:
Quando se trabalha com arrays muito grandes, a melhor forma para lidar com situações de memória cheia é acompanhar a criação dos arrays com um método de projeto ON ERR CALL Exemplo:
` Você vai executar uma operação por toda a noite
` que requer a criação de arrays grandes. Para evitar
` erros na noite, crie os arraays no começo da operação
` e teste os erros neste momento:
gError:=0 ` Inicialização
ON ERR CALL("MANEJO DE ERROS") ` Instala um método para buscar erros
ARRAY STRING(63;asEsteArray;50000) ` Aproximadamente 3125K em modo ASCII
ARRAY REAL(arOutroArray;50000) ` 488K
ON ERR CALL("") `Não é preciso mais buscar erros
If(gError=0)
` Os arrays podem ser criados
` e vamos seguir com a operação
Else
ALERT("Esta operação precisa de mais memória")
End if
` Qualquer que seja o caso, não precisamos mais dos arrays
CLEAR VARIABLE(asEsteArray)
CLEAR VARIABLE(arOutroArray)
O Método de projeto CONTROLE DE ERROS é o seguinte:
` Método de projeto CONTROLE DE ERROS
gError:=Error ` Retornar o código do erro
Produto: 4D
Tema: Arrays
Manual de linguagem 4D ( 4D v14 R2)
Manual de linguagem 4D ( 4D v14 R3)
Manual de linguagem 4D ( 4D v14.3)
Manual de linguagem 4D ( 4D v14 R4)
Inherited from : Arrays e Memória ( 4D v11 SQL Release 6)