| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
Dream Lt JG


Registrado: 14 Feb 2003Mensajes: 57Ubicación: TOLEDO
|
Publicado: Dom 26 May, 2013 9:57 am Asunto: Liberar memoria Firebird |
|
|
Buenos días,
Perdoname, llevo 3 consultas en esta semana, pero esta siendo una semana de errores que no me habian sucedido antes.
Realizo la siguiente consulta cada vez que se inserta un articulo en la tpv.
AnsiString strSQL1 = "Where Codigo = '" + cod + "'";
CentroBD->BDArticulos->Close();
CentroBD->BDArticulos->SQL->Clear();
CentroBD->BDArticulos->SQL->Add("SELECT *");
CentroBD->BDArticulos->SQL->Add("FROM Articulos");
CentroBD->BDArticulos->SQL->Add(strSQL1);
CentroBD->BDArticulos->Open();
El problema es que cuando he realizado alrededor de 100 ticket, me salta un error EOutMemory. Este error salta justo despues de la linea:
CentroBD->BDArticulos->Open();
Me he dado cuenta que cada vez que se ejecuta la consulta, el uso de memoria aumenta.
He mirado en el foro pero no veo como liberar memoria despues de una consulta. He probado con:
CentroBD->BDArticulos->Free();
Pero en la consulta siguiente me da error.
Un saludo y gracias |
|
| Volver arriba |
|
 |
Dream Lt JG


Registrado: 14 Feb 2003Mensajes: 57Ubicación: TOLEDO
|
Publicado: Dom 26 May, 2013 11:23 am Asunto: He visto una funcion |
|
|
He visto esta funcion y la verdad que me funciona bien. Lo pongo despues de realizar la consulta.
SetProcessWorkingSetSize(GetCurrentProcess, 0xffffffff, 0xfffffff);
Pero no se sinceramente, tengo dudas:
¿hacerlo cada vez que realice un insercion de articulos, puede probocar fallos? Mas bien por las cuantiosas veces que se va a ejecutar.
¿Esta funcion tiene efectos secundarios? jeje
Un saludo |
|
| Volver arriba |
|
 |
Dream Lt JG


Registrado: 14 Feb 2003Mensajes: 57Ubicación: TOLEDO
|
Publicado: Dom 26 May, 2013 11:24 am Asunto: Vale para 64 bit |
|
|
Se me olvidava,
¿Vale para 64 Bit?
Gracias |
|
| Volver arriba |
|
 |
|