Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Для smartsoft "InterBase BLOB JPG"

5.0K
16 апреля 2004 года
Micle1
19 / / 16.04.2004
Использую IBDataset. Сначала пробовал регистрировать JPG:

DBImage1->Picture->RegisterFileFormat(__classid(TJPEGImage), "jpg", "jpg", __classid(TJPEGImage));

Далее:
void __fastcall TForm1::DBImage1Click(TObject *Sender)
{
if (OpenPictureDialog1->Execute())
DBImage1->Picture->LoadFromFile(OpenPictureDialog1->FileName);
}

После выбора рисунка, пытаюсь зафиксировать запись в базе. JPG после последней операции просто исчезает. С BMP теже действия проходят нормально.

Теперь, пусть TDBImage на подключение модулей вроде JPEG кладет, использую TImage:

AnsiString FileName;
//----------------------------------------------
void __fastcall TForm3::DBImage1Click(TObject *Sender)
{
if (OpenPictureDialog1->Execute())
{
Image1->Picture->LoadFromFile
(FileName=OpenPictureDialog1->FileName);
}
}
//----------------------------------------------
void __fastcall TForm1::ANewWorkerExecute(TObject *Sender)
{
TBlobField *bf=dynamic_cast <TBlobField *> (IBDataSet1->FieldByName("Photo"));
IBDataSet1->Append();
if (Form3->ShowModal()==mrOk)
{
bf->LoadFromFile(FileName);
IBDataSet1->ApplyUpdates();
}
else
IBDataSet1->CancelUpdates();
}

И в этом случае BMP записывается, а на JPG генерится исключение.
Подскажите чайнику как правильно загрузить картинку ручками. :devil:
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог