Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.05.30;
Скачать: [xml.tar.bz2];

Вниз

ADO Access поля типа OLE-объект   Найти похожие ветки 

 
Fanta   (2004-05-13 07:58) [0]

Простите заранее за дебильный вопрос: просмотрела много форумов и FAQов на разных сайтах, потратила кучу времени, нашла много людей, столкнувшихся с такой же проблемой и так и не нашедших решения...
В общем, так. Есть база Access с полем типа Ole-объект (если говорить вообще, то в этом поле должен быть всего лишь рисунок любого формата, почти любого, из самых распространенных). И есть приложение, которое должно из этой Access базы выводить поле с ole-объектом (т.е. с рисунком).
Вопрос в том, какой компонент лучше использовать для вывода рисунка. Если это OleContainer, то он не хочет читать из потока ни в какую:
procedure TForm1.OleContainer1Activate(Sender: TObject);
var
 stream: TStream;
begin
 ADOTable1.First;
 stream := ADOTable1.CreateBlobStream(DataSource1.DataSet.FieldByName("Picture"), bmRead);
 OleContainer1.LoadFromStream(stream);
 OleContainer1.Run;
 OleContainer1.DoVerb(ovShow)
end;
Конечно, можно было БЫ использовать DBImage, но он сообщает об ошибке при попытке свойству DataField присвоить то самое поле типа ole-объект.
Такая вот задача. Если кто знает, что надо делать, пожалуйста, подскажите!


 
sniknik ©   (2004-05-13 08:15) [1]

если записывать рисунок в самом аксессе (например перетащив bmp с проводника в поле), то он добавит к рисунку 82 байта, свой префикс (и поле в нем так и будет называться "рисунок паинт браш").
если пытаешся положить сам в такомже формате тебе нужно или найти описание этого префикса или самому разобрать формат, и ложить также. читать тоже с учетом этого.

> Конечно, можно было БЫ использовать DBImage
а вот этого сделать никак не получится если хочеш читать/писать "родные" поля.


 
Fanta   (2004-05-13 08:33) [2]

В смысле "ложить" в OleContainer?
И перед добавлением в OleContainer я должна этот префикс удалить?
Чуть подробнее!


 
Fanta   (2004-05-13 08:45) [3]

Это то есть в oleContainer надо грузить поток со смещением в 82 байта. Так получается? Sniknik, я тут что, сама с собой разговариваю? Отзовись!


 
sniknik ©   (2004-05-13 09:04) [4]

> И перед добавлением в OleContainer я должна этот префикс удалить?
скорее добавить.

> Так получается? Sniknik, я тут что, сама с собой разговариваю?
здесь не чат, глупо ожидать ответов через пять мин. (а счас я вообще на работу пойду и ~1.5часа меня здесь не будет)

я тебе дал (помоему) вполне достаточно чтобы понять где "копать", тебе нужно понять разницу между рисунком положенным тобой и аксессом. именно на эту разницу я указал.
но дальше твоя забота, тем более конкретно этим я не занимался, формат префикса не знаю (иначе бы дал), oleContainer считаю лишним (если только для рисунков), чего ты хочеш добится этим не знаю, за тебя делать не буду ... и т.д.

p.s. попроси татьяну выслать тебе пример, там разницу видно наглядно
http://delphimaster.net/view/3-1084337455/



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2004.05.30;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.057 c
8-1079200504
Step[B.M.]
2004-03-13 20:55
2004.05.30
Кто работает с компоненами WaveAudio.


1-1084558995
ИМХО
2004-05-14 22:23
2004.05.30
OLE-автоматизация Outlook а


6-1081404340
Сергей Ю.
2004-04-08 10:05
2004.05.30
Размер траффика


1-1084861513
Sandman25+1
2004-05-18 10:25
2004.05.30
Параметры типа procedure of object


6-1081490934
Orc
2004-04-09 10:08
2004.05.30
Проверить наличие веб-сервера





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский