elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
29 Mayo 2012, 01:04  


Tema destacado: Suscripción al boletín mensual de elhacker.net

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo, raul338)
| | |-+  Memoria Insuficiente en Control
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Memoria Insuficiente en Control  (Leído 776 veces)
DarkMatrix

Desconectado Desconectado

Mensajes: 125


Nuestro Limite es la Imaginacion


Ver Perfil WWW
Memoria Insuficiente en Control
« en: 20 Octubre 2011, 21:40 »

Buenas, necesito un poco de ayuda. He detectado que este control tiene un error grave:

http://www.recursosvisualbasic.com.ar/htm/ocx-componentes-activex-dll/214-boton-checkbox-optionbutton-con-skin.htm

Lo que sucede es que cuando el control es cargado y descargado de la memoria muchas veces, visual basic manda un error de Memoria Insuficiente, he probado varios usercontrols de botones pero ninguno manda el error como lo hace este. Lo primero que imagine fue que el control creba un DC que luego no liberaba pero creo que ese no es el problema.

Bueno a ver si pueden ayudarme a encontrar el error.

Adjunto un archivo con la prueba que hize: http://nova-digital.net/prueba.rar



En línea

Todo aquello que no se puede hacer, es lo que no intentamos hacer.
Projecto Ani-Dimension Digital Duel Masters (Juego de cartas masivo multijugador online hecho en Visual Basic 6.0)

Desing by DarkMatrix
BlackZeroX (Astaroth)
Wiki

Desconectado Desconectado

Mensajes: 2.831


I'Love...!¡.


Ver Perfil WWW
Re: Memoria Insuficiente en Control
« Respuesta #1 en: 20 Octubre 2011, 21:53 »

.
Revisa la descarga de los skins.

Dulces Lunas!¡.


En línea

Web Principal-->[ Blog(VB6) | Host File (Public & Private) | Scan Port | (New)MyInfraPC (Descubre mi Contraseña venefi. $) ]



The Dark Shadow is my passion.
El infierno es mi Hogar, mi novia es Lilith y el metal mi
raul338
Moderador
***
Desconectado Desconectado

Mensajes: 2.371


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: Memoria Insuficiente en Control
« Respuesta #2 en: 21 Octubre 2011, 00:02 »

El controlo tiene código de LeandroA, y probablemente fue victima de fugas en GDI así que ... a revisar el código! :P
En línea

BlackZeroX (Astaroth)
Wiki

Desconectado Desconectado

Mensajes: 2.831


I'Love...!¡.


Ver Perfil WWW
Re: Memoria Insuficiente en Control
« Respuesta #3 en: 21 Octubre 2011, 00:13 »

.
Ahora entiendo por que http://www.leandroascierto.com.ar/tips.php ya no estaba xP

Dulces Lunas!¡.
En línea

Web Principal-->[ Blog(VB6) | Host File (Public & Private) | Scan Port | (New)MyInfraPC (Descubre mi Contraseña venefi. $) ]



The Dark Shadow is my passion.
El infierno es mi Hogar, mi novia es Lilith y el metal mi
DarkMatrix

Desconectado Desconectado

Mensajes: 125


Nuestro Limite es la Imaginacion


Ver Perfil WWW
Re: Memoria Insuficiente en Control
« Respuesta #4 en: 21 Octubre 2011, 00:18 »

El controlo tiene código de LeandroA, y probablemente fue victima de fugas en GDI así que ... a revisar el código! :P

Algo asi me imagine, por eso aun no doy con el problema o.o
En línea

Todo aquello que no se puede hacer, es lo que no intentamos hacer.
Projecto Ani-Dimension Digital Duel Masters (Juego de cartas masivo multijugador online hecho en Visual Basic 6.0)

Desing by DarkMatrix
BlackZeroX (Astaroth)
Wiki

Desconectado Desconectado

Mensajes: 2.831


I'Love...!¡.


Ver Perfil WWW
Re: Memoria Insuficiente en Control
« Respuesta #5 en: 21 Octubre 2011, 00:24 »

busca los SelectObject()

Se arregla haciendo algo asi:

Código
 
hOldhGDIObj = selectObject(hDC, hNewGDIObj)
....
selectObject hDC, hOldhGDIObj
DeleteObject hNewGDIObj
 
 

Dulces Lunas!¡.
En línea

Web Principal-->[ Blog(VB6) | Host File (Public & Private) | Scan Port | (New)MyInfraPC (Descubre mi Contraseña venefi. $) ]



The Dark Shadow is my passion.
El infierno es mi Hogar, mi novia es Lilith y el metal mi
DarkMatrix

Desconectado Desconectado

Mensajes: 125


Nuestro Limite es la Imaginacion


Ver Perfil WWW
Re: Memoria Insuficiente en Control
« Respuesta #6 en: 21 Octubre 2011, 00:37 »

.
Revisa la descarga de los skins.

Dulces Lunas!¡.

Segui el consejo de BlackZeroX y creo que di con el problema, busque donde se descargaba el skin que usa el control pero en ningun lado se libera el DC "hDCSkin" asi que inclui esto en el usercontrol y ahora si deja cargar todos los controles que se quiera sin saturar la memoria:

Código
Private Sub UserControl_Terminate()
 
   Call DeleteDC(hDCSkin)
 
End Sub
En línea

Todo aquello que no se puede hacer, es lo que no intentamos hacer.
Projecto Ani-Dimension Digital Duel Masters (Juego de cartas masivo multijugador online hecho en Visual Basic 6.0)

Desing by DarkMatrix
BlackZeroX (Astaroth)
Wiki

Desconectado Desconectado

Mensajes: 2.831


I'Love...!¡.


Ver Perfil WWW
Re: Memoria Insuficiente en Control
« Respuesta #7 en: 21 Octubre 2011, 00:44 »

.
acabo de revisar nuevamente el codigo para  ver las fugas de memoria sobre GDI, y si hay fugas de GDI...

por ejemplo:

Linea 966

Código
 
       hDCMemory = CreateCompatibleDC(0)
       hBmp = CreateCompatibleBitmap(dc, lPixelWidth, lPixelHeight)
       Call SelectObject(hDCMemory, hBmp)
 
 

En lo personal yo lo hago asi... solo elimino el original y le dejo uno nuevo...

Código
 
DeleteObject SelectObject(hdcMemory, hBmp)
 
 

Dulces Lunas!¡.
« Última modificación: 21 Octubre 2011, 00:47 por BlackZeroX (Astaroth) » En línea

Web Principal-->[ Blog(VB6) | Host File (Public & Private) | Scan Port | (New)MyInfraPC (Descubre mi Contraseña venefi. $) ]



The Dark Shadow is my passion.
El infierno es mi Hogar, mi novia es Lilith y el metal mi
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Espacio insuficiente?
Multimedia
Flint 4 694 Último mensaje 4 Febrero 2005, 17:37
por Flint
memoria insuficiente para juego
Juegos y Consolas
cmcmc 4 496 Último mensaje 15 Abril 2006, 06:01
por lokura1977
Con 1.5 Gbytes de memoria me dice Insuficiente memoria en Windows 98
Windows
javier234- 14 1,781 Último mensaje 4 Noviembre 2007, 00:47
por Psyfurius
memoria virtual insuficiente
Wireless en Linux
manolin2 5 744 Último mensaje 3 Marzo 2009, 09:44
por manolin2
Memoria insuficiente al trabajar con bmp
.NET
arenoide 2 387 Último mensaje 4 Octubre 2011, 13:07
por arenoide
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines