Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Файл из БД в оле-контейнер


Автор: gray_k 9.9.2003, 14:33
В базе (интербейз) хранятся файлы (BLOB-поле). Известен тип файла (рисунок, документ ворд). Как из базы показать файл в OleCiontainer, не создавая временный файл на диске.
Если создавать файл, то всё просто.
А вот напрямую из базы не получается. Я пробовал так:

Ole->CreateObject("MSPhotoEd.3", true);/*показываем рисунок jpeg*/
TMemoryStream *ms = new TMemoryStream;
quFILE->SaveToStream(ms);/*поле набора данных (TBlobField*)*/
TJPEGImage *jpg = new TJPEGImage();
ms->Seek(0,0);
jpg->LoadFromStream(ms);
ms->Seek(0,0);
Ole->LoadFromStream(ms);

на последней строчке вываливается ошибка Inavalid Stream Format.

Автор: DENNN 9.9.2003, 14:38
Создай свое приложение, как источник данных для этого контейнера.
При щелчке по объекту, будет вызываться твой OLE-модуль, который будет коннектиться к базе.

Автор: gray_k 9.9.2003, 14:47
что за приложение?
и как в него занести данные из BlobField?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)