Estoy trabajando cn BCB 6 y probablemente no se pueda. He estado mirando por el foro y no he podido encontrar respuesta a una duda que tengo. A ver si puedo explicarme:
Tengo una tabla FB en la que guardo, entre otras cosas, el logotipo que usaré en los impresos de la aplicación, de forma que el usuario podrá cambiar el mismo cuando desee. Me preguntaba si esa imagen guardada a partir de un fichero JPG o BMP así:
Código:
TMemoryStream *msImagen = new TMemoryStream;
(Imagen->Picture->Bitmap)->SaveToStream(msImagen);
msImagen->Seek(0, soFromBeginning);
if (msImagen->Size != 0)
{
Query->Close();
Query->SQL->Text = "INSERT INTO Instalacion (Etiqueta, Imagen) VALUES ('Logo', :Imagen)";
Query->ParamByName("Imagen")->LoadFromStream(msImagen, ftBlob);
Query->ExecSQL();
Query->Transaction->CommitRetaining();
}
Podría ser asignada, por ejemplo, al icono de la aplicación. He estado dando vueltas por foros y por la ayuda de Builder y se me había ocurrido que tal vez pudiera hacerse a través de un SaveToStream / LoadFromStream; se me había ocurrido esto:
Código:
Query->Close();
Query->SQL->Text = "SELECT Imagen FROM Instalacion WHERE Etiqueta = 'Logo'";
Query->Open();
static_cast<TGraphicField>(Query->FieldByName("Imagen"))->SaveToStream(msImagen);
if (msImagen->Size > 0)
Application->Icon->LoadFromStream(msImagen);
pero da un error en el LoadFromStream.