Cita:
Empezado por Angel.Matilla
¿Dónde? A mi no me da ningún error de memoria.
|
Código:
TJPEGImage* __fastcall BlobToJpg(TBlobField *CampoBLOB)
{
if(!CampoBLOB->Value.IsEmpty())
{
TJPEGImage *JPeg = new TJPEGImage; // <==== (1)
TMemoryStream *StreamTmp = new TMemoryStream; // <==== (2)
CampoBLOB->SaveToStream(StreamTmp); //sacamos el jpg y se convierte a stream
StreamTmp->Seek(0,soFromBeginning);
JPeg->LoadFromStream(StreamTmp);
return(JPeg);
}
else
return(NULL);
}
Tal vez no todavia...
Cuando solicitas recursos usando
VCL es tu responsabilidad liberarlos,
Builder C++ no liberará automáticamente la memoria ocupada, aún cuando se trate de variables locales a la función.
En ese código no se libera la variable
SteramTmp; y lo mas serio es que no se puede liberar la variable
JPeg sin dejar inoperante la función.
Saludos