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

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Problema a memória esta lotando
Armored
SÃO PAULO
SP - BRASIL
ENUNCIADA !
Postada em 14/01/2007 08:42 hs            
Olá a todos, bem, estou com um problema e gostaria de saber se alguem pode me explicar o porque esta acontecendo isso...
 
Estou criando um programa para monitorar uma rede remotamente, ou seja, será exibido vários pequenos monitores, nome da maquina e oque se esta vendo nele...
ja pensei no esquema de compactar as imagens capturadas com a DLL (jpg) e jogar para o servidor via Wsck, até ai blz...
 
Fiz alguns testes e foi tudo como eu esperava, o problema é que cada vez que se capura a tela e joga em uma picture, ocupa um pouco da memória, e quando vai capturando e jogando no "mesmo" picture, a memória começa a se encher, até o windows travar sem memória...
 
Para Capturar Não quero usar a Área de transferencia, porque além do processamento, quero deixa-la livre, então estou usando a API GetDC
 
    Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
Emoções
'e para carrega-la no form estou utilizando a API  StretchBlt
 
    Private Declare Function StretchBlt Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal nSrcWidth As Long, ByVal nSrcHeight As Long, ByVal dwRop As Long) As Long
 
'Código simples---------------------------------------
    hdcscreen = GetDC(0)
    Picture1.Cls
    r = StretchBlt(Picture1.hdc, 0, 0, w, h, hdcscreen, 0, 0, wScreen, hScreen, vbSrcCopy)
-----------------------------------------------------
 
 
Dpois de carregar no picture e salvar o arquivo..Tentei os seguintes procedimentos:
1º dava um unload ou cls no picture
2º unload no form
 
nenhum dos dois liberou a memória =/
Então fica ai o meu problema..

- by - ArMoReD -
   
LCRamos
Pontos: 2843
GOIANIA
GO - BRASIL
ENUNCIADA !
Postada em 16/01/2007 16:11 hs            
Armored, tente dar um nothing no controle ou no formulário:
Set imagem1 = Nothing
De qualquer forma se quiser descarregar o formulário completamente da memória, voce precisa usar o Nothing, caso contrário ele não se descarrega, repare que quando acessa um form, ele sempre demora um pouco mais que a segunda vez.
Para descarregar o formulário da memória
Unload frmForm
Set frmFORM = Nothing
 
vlu//
   
Página(s): 1/1    


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