Страница 1 из 1
Фото в бд paradox через OLE в Delphi
Добавлено: 10 сен 2005, 15:43
кирил
Здравствуйте, помогите пожалуйста кто может!!!
Есть база Paradox, в ней поле BLOB OLE. Остальные поля вывожу в dbgrid, а ole поле надо вывести в OleContainer.Как это сделать?
Говорят что это можно решить с помощью потоков?
Точнее говоря я не знаю синтаксис языка применительно к потокам

Добавлено: 20 сен 2005, 15:51
Naeel Maqsudov
Нет никакого такого синтаксиса языка.
var
S:TMemoryStream;
......
S:=TMemoryStream.Create;
......
Далее все зависит от того, что у Вас на форме лежит для отображения данных.
Возможно, в DataSource есть подходящее событие (происходящее, когда пользователь "ходит" по записям). Вот на это событие сохраните значение поля в поток (у поля есть такой метод), и загрузите в OLEContainer (у контейнера есть метод который это делает).
Вот примерно так.
Если не разберетесь - пришите, может кто-то подскажет конкретнее (или я сам

доберусь до Delphi).
Добавлено: 22 сен 2005, 23:13
YurikGL
>Возможно, в DataSource есть подходящее событие
Обычно пользую DataSource2DataChange
По сабжу - наиболее логичный и простой способ - сохранять ole-документ на диск и открывать его с диска. Потоки здесь городить ни к чему.
Но я крайне не советую идти путем "передвинули курсор - отобразили новый документ" т.к. система будет мягко говоря тормозить. Лучше окрывать документ по требованию.