Hola.
Fijate si te sirve de este modo:
Código PHP:
void blobToico(TField *field, TIcon* ico)
{
try {
if ( field->IsNull ) throw Exception("El campo tiene valor nulo");
TStream *stream = field->DataSet->CreateBlobStream( field , bmRead );
try {
Graphics::TBitmap *bmp = new Graphics::TBitmap;
bmp->LoadFromStream( stream );
TImageList* list = new TImageList( bmp->Width, bmp->Height );
try {
list->AddMasked( bmp, bmp->TransparentColor );
list->GetIcon( 0, ico );
}
__finally {
delete list;
delete bmp;
}
}
__finally {
delete stream;
}
}
catch(const Exception& E) {
MessageBox(0, E.Message.c_str(), "", MB_ICONERROR);
}
}
Ejemplo de uso:
Código PHP:
void __fastcall TForm1::btnBlobToIcoClick( TObject *Sender )
{
TIcon* ico = new TIcon;
try {
blobToico(IBDataSet1->FieldByName("IMAGE"), ico );
Application->Icon->Assign(ico);
}
__finally {
delete ico;
}
}
Salida del ejemplo:
Agregué un componente imagen para resaltar los cambios, ya que dado el tamaño del ícono en la barra de título, no se visualiza muy bién en la animación.
Saludos
