USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Como liberar memória?
Tekki
Pontos: 2843 Pontos: 2843 Pontos: 2843
UBERLÂNDIA
MG - BRASIL
ENUNCIADA !
Postada em 16/07/2008 10:20 hs            

Pessoal estou realizando um trabalho com VBA e gostaria de saber se alguém conhece alguma forma de liberar memória.

O programa roda e vai eliminando a quantidade de memória livre, vai diminuindo até o ponto  de gerar erro. Não é a memória do micro mas sim a memória que esta reservada para o sistema. Acredito que o VBA reserve uma quantidade de memória...

 

Sei que nem o  VBA nem o VB tem um GC, mas alguém conhece alguma forma de liberar memória?

 

TÓPICO EDITADO
 
Donkey
Pontos: 2843 Pontos: 2843 Pontos: 2843 Pontos: 2843
PRESIDENTE PRUDENTE
SP - BRASIL
ENUNCIADA !
Postada em 17/07/2008 08:53 hs            
Procure no baixaki.com.br programas para isso, la tem alguns que vc deixa rodando no systray, e de tempos em tempos ele faz isso.

Usei uma vez num cliente com windows 98 que vivia faltando memoria.... T+
   
dieimes_
CAXIAS DO SUL
RS - BRASIL
ENUNCIADA !
Postada em 17/07/2008 14:22 hs            
Caro Tekki

No vb e no VBA, a melhor forma de liberar a memória é destruir objetos. Ou seja, instanciei um objeto. se não uso mais, destruo ele:ex.:

Dim objetoTal as new recordset
objetoTal.open "select * from clientes", conexaotal

'************** faz o que tem q fazer

objetotal.close

' ******************************

' destrói o objeto quando n vai usá-lo mais:

set objetoTal=nothing

No exemplo acima usei um objeto do tipo recordser, mas pode ser qualquer tipo de objeto, classes, collections, etcs....

Fazer essa prática em todos os objetos que você não vai usar, com certeza, vai liberar memória pro sistema. Verigique também se não existem variávies desnecessárias e também muitas variáveis do tipo "Variant", quando pode-se usar um tipo comum.

Espero ter ajudado
   
Ama
Pontos: 2843
UBERLÂNDIA
MG - BRASIL
ENUNCIADA !
Postada em 18/07/2008 01:03 hs         
aumenta o tamanho da memoria virtual eu uso 2xram pra minima 3xram pra máxima, pra memoria virtual funcionar bem o drive deve estar desfragmentado, e em último caso escolha a opção best of performance
   
Donkey
Pontos: 2843 Pontos: 2843 Pontos: 2843 Pontos: 2843
PRESIDENTE PRUDENTE
SP - BRASIL
ENUNCIADA !
Postada em 19/07/2008 18:30 hs            
Esse problema que eu tinha no windows 98 falavam que era algumas ocx q não estavam devidamente registradas, dai ia consumindo.... consumindo... até que não tinha mais....

Tirando esse problema no windows 98, nunca tive problemas desse tipo em outros sistemas operacionais....

+ o lance que o deimes falou, pelo menos pra mim não funcionava... eu sempre fecho os RS depois de usados, mesmo assim dava problema... começava bem, dali a pouco a tela ficava preta, os objetos desconfigurados, vc ia ver tava sem memoria disponivel....

A solução (embora não era 100% foi instlaar um programa desse, que fazia essa limpeza).

T+
   
Rodrigo Schiavo
não registrado
ENUNCIADA !
Postada em 31/05/2010 16:03 hs   
@dieimes_

Eu faço no meu código exatamente o que você disse, mas a memória não é liberada, tenho um SELECT que usa 500mb de memória, e o excel fica praticamente impossivel de utilizar após a execução.

Tem alguma alternativa?
   
Página(s): 1/2      PRÓXIMA »


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página