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

Vc++

Estas en el tema de Vc++ en el foro de Programación General en Foros del Web. Buenos Días: Antes que nada gracias por su tiempo. Estoy desarrollando una aplicacion en VC++, en realidad en MFC. Esta aplicacion tiene un spool de ...
  #1 (permalink)  
Antiguo 06/11/2003, 06:43
Avatar de Viet  
Fecha de Ingreso: octubre-2003
Ubicación: Mar del Plata - Argentina
Mensajes: 247
Antigüedad: 20 años, 7 meses
Puntos: 2
Pregunta Vc++

Buenos Días:

Antes que nada gracias por su tiempo.

Estoy desarrollando una aplicacion en VC++, en realidad en MFC.

Esta aplicacion tiene un spool de trabajo en el que corren una cantidad de trabajos(threads), en paralelo, y otros esperan por un lugar.

En general en cada trabajo realizo operaciones sobre una Base de Datos, para lo cual , al instanciar el trabajo le paso como parametro un puntero a la conexión.

Luego en el metodo que se ejecuta en el Trabajo, creo un comando y un recorset con:
Código:
 _CommandPtr pCmd_SP;
	pCmd_SP.CreateInstance(__uuidof(Command));
	//establezco conex con comando

	pCmd_SP->ActiveConnection = pConn;
	

	// seteo sql


	CString instruccion = "execute dbo.sp_llamadas_actuales_uno @id_empleado=";

	instruccion = instruccion + id_empleado ;

	pCmd_SP->CommandText = (_bstr_t) instruccion ;

	// Create the variant NULL
	_variant_t vNull;
	vNull.vt = VT_ERROR;
	vNull.scode = DISP_E_PARAMNOTFOUND;

	
// creo el Rs
	_RecordsetPtr pRs_SP;
	pRs_SP.CreateInstance(__uuidof(Recordset));
	pRs_SP->CursorLocation = adUseClient;
	pRs_SP->PutRefSource(pCmd_SP);
Al terminar el Trabajo, hago un recorset.Close() y luego destruyo el hilo.

Problema

Mi problema es que la aplicacion va incrementando la memoria en forma proporcional al trabajo realizado, e intuyo que es por no liberar algun objeto. Puede ser asi ????


PD: no agregue el cod de la creacion y eliminación del hilo por la complejidad del mismo.

Ojala se entienda el problema.

Saludos
__________________
Keep it simple and keep it fast.
  #2 (permalink)  
Antiguo 06/11/2003, 11:57
 
Fecha de Ingreso: noviembre-2003
Ubicación: Lima - Perú
Mensajes: 1
Antigüedad: 20 años, 5 meses
Puntos: 0
Hola viet,

Te dire; lo que hago yo cuando tengo ese tipo de problemas es crear un archivo (fichero en españa), y voy vaceando lo que tengo en memoria dentro de este, asi me doy cuenta de todo lo que pasa por memoria, luego cuando veo algo que no me sirve lo elimino, tarda un poco mas en ejecutar, pero solo es por depurar, luego le quitas la funcion. Espero que te sirva de algo, pero definitivamente si se llena la memoria es: o por que manejas una cantidad grande de datos, o los repites, o tienes muchas variables juntas, sin limpiar que aun se encuentran en la memoria, poniendo lo de la memoria en un archivo lo puedes revisar y darte cuenta donde esta el error. Suerte.
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 14:42.