Foros del Web » Programación para mayores de 30 ;) » Programación General »

Problema memoria VBasic y DLL

Estas en el tema de Problema memoria VBasic y DLL en el foro de Programación General en Foros del Web. Dentro de una aplicación en VBasic tengo un bucle While-Loop que hace repetidas llamadas a una dll externa. Funciona bien pero me va consumiendo la ...
  #1 (permalink)  
Antiguo 11/11/2003, 11:53
 
Fecha de Ingreso: noviembre-2003
Mensajes: 4
Antigüedad: 20 años, 5 meses
Puntos: 0
Problema memoria VBasic y DLL

Dentro de una aplicación en VBasic tengo un bucle While-Loop que hace repetidas llamadas a una dll externa. Funciona bien pero me va consumiendo la memoria hasta que me da error.
Sabe alguien a qué es debido?

Gracias anticipadas!

Saludos...
  #2 (permalink)  
Antiguo 11/11/2003, 13:46
Avatar de pabli  
Fecha de Ingreso: octubre-2003
Mensajes: 381
Antigüedad: 20 años, 6 meses
Puntos: 0
Hola stolke,

imagino que tendrás controlado el bucle, que no sea infinito.
Por otro lado, si dentro, la librería está creando objetos y no los libera de la memoria, esta tiene un límite y acaba terminándose.

Si crea un par de objetos durante el manejo de la aplicación y no los cierra, no pasa nada, solo es una mala programación, pero si crea miles??

Un saludo
Pablo
  #3 (permalink)  
Antiguo 12/11/2003, 02:58
 
Fecha de Ingreso: noviembre-2003
Mensajes: 4
Antigüedad: 20 años, 5 meses
Puntos: 0
Hola!
Sí, el bucle está controlado. Sólo tengo ese problema cuando ejecuto alguna función de la librería externa repetidamente.
Se puede hecer algo?

Saludos...
  #4 (permalink)  
Antiguo 12/11/2003, 06:18
Avatar de pabli  
Fecha de Ingreso: octubre-2003
Mensajes: 381
Antigüedad: 20 años, 6 meses
Puntos: 0
Stolke,

¿Puedes acceder al código de la librería?
Si no, poco se podrá hacer, creo...

Un saludo
Pablo
  #5 (permalink)  
Antiguo 12/11/2003, 13:40
 
Fecha de Ingreso: noviembre-2003
Mensajes: 38
Antigüedad: 20 años, 6 meses
Puntos: 0
Sugerencia: crea una función en que únicamente llames a la función de la librería y verifica la memoria por cada vez que la ejecutes. Si la memoria baja siempre, entonces tienes un problema dentro de la función de la DLL. Si no, el problema lo tienes en tu función.

Otra cosa, ojo con el consumo de la memoria. No puedes comparar con la primera ejecución, porque en la primera ejecución la DLL se carga, luego solamente se invoca. No siemrpe se carga y descarga.
  #6 (permalink)  
Antiguo 12/11/2003, 14:38
 
Fecha de Ingreso: noviembre-2003
Mensajes: 4
Antigüedad: 20 años, 5 meses
Puntos: 0
A ver...

x Pabli
No, no puedo acceder a la librería (Miracle.dll) y además está hecha en C++ y compilada para Windows. Tengo una referencia con la declaración de la función.

x Tomed
El bucle es este:
Código:
  Do While blnProcessing
    ...
    Let blnProcessing = (BMod(varText1, varText2) > 0)
    DoEvents
  Loop
Ejecutando el bucle la memoria baja y baja cada vez más.
Creo que el problema está en la librería. Quizá si alguien la ha utilizado y sabe cómo solucionarlo...

Saludos...
  #7 (permalink)  
Antiguo 12/11/2003, 14:42
 
Fecha de Ingreso: noviembre-2003
Mensajes: 38
Antigüedad: 20 años, 6 meses
Puntos: 0
Sorry, pero no sé lo que es. ¿Es una dll de algún producto cerrado? Sí es así, revida al proveedor por si ha aparecido una actualización. Yo no la he usado.

Que te vaya bien.
  #8 (permalink)  
Antiguo 12/11/2003, 14:53
 
Fecha de Ingreso: noviembre-2003
Mensajes: 4
Antigüedad: 20 años, 5 meses
Puntos: 0
Es una librería matemática que utilizan algunos programas para Criptografía (DisMat, CryptoLab, etc). Intentaré copnseguir el código fuente compilarla directamente a ver si así se puede solucionar.

Saludos...
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:05.