Qualquer pergunta de um PROFI para um SUPER PROFI - 1. - página 33
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Obrigado! Tudo isso já foi lido muitas vezes, é claro. Talvez não haja previsão para aumentar o tamanho do display que já está aberto. Você tem que fazer tudo sozinho.
1. Mova os dados peça por peça para um novo mapeamento temporário.
2. Feche o antigo.
3. Abra um novo com um tamanho maior.
4. Mova tudo do mapeamento temporário peça por peça para lá.
Assustador. Tudo comprido.
o link ali diz que os dados ainda são coerentes quando se abre um mapeamento do mesmo, mas em tamanhos diferentes, ou seja, tudo é realmente armazenado em um único lugar e é simplesmente projetado.
Meu ponto é que a cópia pode não ser necessária
É a mesma coisa com o mesmo nome? Se assim for, o mesmo mapeamento se abre, mas com um novo descritor. Foi exatamente isso que eu fiz. O tamanho não aumenta.
Você tem que fechar todos os descritores e só então você pode reabri-lo com o novo tamanho.
Os dados só podem ser transferidos de um mapeamento para outro através da memória do processo atual.
Descubra como fazer isso!
Você deve sempre abrir um arquivo de mapeamento de um arquivo temporário. Com um tamanho mínimo de 1 byte. Quando você abre o mapeamento do arquivo, tudo se salvará no arquivo. Em seguida, reabrir o mapeamento deste arquivo com um novo tamanho.
http://www.delphisources.ru/pages/faq/base/filemapping.html
dwMaximumSizeHigh é um alto valor de 64 bits de memória compartilhada (mais de 4 Gbt) - não precisamos tanto assim :) - Vamos atribuir valor 0 a este argumento.
dwMaximumSizeLow - Graças aos simpáticos habitantes do Reino, que apontaram o erro na descrição deste argumento! Especialmente o Sr. Uno que o explicou muito bem! (ver comentário ao artigo) - o menor valor de 64 bits de tamanho de memória compartilhada - se dwMaximumSizeHigh for igual a 0, o tamanho deste argumento deve ser pelo menos TAMANHO DE DADOS para ser colocado no arquivo swap. Noteque o tamanho da "página" Intel é 4 KBt, ou seja, se você especificar 1 byte, você recebe um "bolso para compartilhar" :) 4 KBt, se você especificar 4001, você pode colocar até 8Kbt de dados no objeto de mapeamento de arquivo, etc.
Agradecimentos especiais por este lembrete. Ajudou a resolver outro problema.
Reformulou a proteção da memória na biblioteca de mapeamento. Esqueci-me disso. Constantemente surgiram meus avisos sobre a memória insuficiente. No entanto, eu o tenho alocado automaticamente.
Tive um sonho ontem à noite :-)
por que não há uma execução imediata na conta demo?