Onice Cdt


Registrado: 15 Ene 2008Mensajes: 12
|
Publicado: Jue 17 Abr, 2008 3:21 pm Asunto: Incremento del uso de RAM en pdas |
|
|
Muy buenas.
En el programa que tengo entre manos, se accede mediante java a una dll compilada en C++, por lo que uso un proyecto en C++ para hacer de puente. La susodicha biblioteca es DTX10M30E.dll, y tiene algo que ver con el manejo del cMOS del lector de código de barras de una PDA. El problema es que, con esta biblioteca intermedia, la RAM que usa el programa (solo ejecutando, no leyendo códigos) va aumentando lenta pero inexorablemente, hasta colapsar la pda.
El código es el siguiente:
| Código: | TCHAR wcMessage[4100],chCodeID, chSymLetter, chSymModifier;
WORD nLength;
Result_t Result;
//Si no se ha llamado a init no leo
if(iniciado)
{
//asigno la memoria a wcMessage y la relleno con 0
//wcMessage=(TCHAR *)malloc(sizeof (TCHAR)*4100);
ZeroMemory ( wcMessage, sizeof wcMessage );
//llamo al lector y le digo que espere 10 seg maximo antes de desactivarse
Result = TDWaitForDecode( 10000, wcMessage, &chCodeID, &chSymLetter,
&chSymModifier, &nLength, Trigger );
//si todo ha ido bien devuelvo la cadena leida
Result=RESULT_SUCCESS;
if( Result==RESULT_SUCCESS )
{
datos=CString(wcMessage);
//datos=CString("1234r");
jstring jCadena = env -> NewString((const jchar *)(LPCTSTR)datos, datos.GetLength());
leyendo=false;
return jCadena;
}
} |
Tengo dudas sobre si el problema no estaría en la llamada a Zeromemory, que luego no se está eliminando bien.
Se agradecen sugerencias ^^ _________________ All your base are belong to me |
|