Ver Mensaje Individual
  #10  
Antiguo 13-10-2017
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por Angel.Matilla Ver Mensaje
¿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
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita