Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.07.31;
Скачать: CL | DM;

Вниз

olecontainer и blobstream   Найти похожие ветки 

 
so_well   (2003-07-16 15:15) [0]

Помогите, пожалуйста, уже второй день бьюсь!!!!
мне нужно из blob поля поместить в olecontainer документ
пробовал разными путями создавать поток, вот например
если так:
procedure TForm1.Button1Click(Sender: TObject);
var b : TBlobStream;
begin
b:=TBlobStream.Create(IBTable1.FieldByName("DATA") as TBlobField, bmRead);
OLEContainer1.LoadFromStream(b as TStream);
b.Free;
Close;
end;
то выдает invalid class typecast
если так:
procedure TForm1.Button2Click(Sender: TObject);
var s: TBlobStream;
begin
s:= TBlobStream( (ibTable1).CreateBlobStream((ibTable1).FieldByName("DATA"), bmReadWrite));;
OLEContainer1.LoadFromStream(s as TStream);
end;
выдает invalid stream format


заранее спасибо


 
Serginio   (2003-07-16 15:29) [1]

Посмотри исходники OLEContainer1.LoadFromStream.
Дело в том, что OLEContainer1 еще записывает и собственную информацию, и соответственно пытается ее прочитать. Если данные были сохранены не OLEContainer1 получишь не то,что хотел. Тоесть чтение и запись должны происходить через OLEContainer1. Либо неправильно установлен COM объект который читает данный стрим


 
so_well   (2003-07-16 16:16) [2]

а что, если я запишу документ в базу через loadfromfile без использования контейнера, то он потом такую информацию не поймет?


 
Serginio   (2003-07-16 16:22) [3]

Еще раз смотри исходники. Сам все поймешь. И обрати внимание на
Header: TStreamHeader;
Если хочешь сделай потомка и записывай и читай как тебе надо.


 
so_well   (2003-07-17 07:46) [4]

В общем да, при сохранении в блоб через оле потом обратно получилось


 
so_well   (2003-07-17 07:49) [5]

спасибо :)



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

Текущий архив: 2003.07.31;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.014 c
4-101038
SH
2003-05-29 14:10
2003.07.31
Как вызвать из своей программы 16-битное приложение с пар-ми?


1-100769
Aleksandr
2003-07-15 15:52
2003.07.31
Допустимо ли такое обращение со строками в DLL?


14-100953
passm
2003-07-15 13:57
2003.07.31
Антибликовые очки


1-100711
Антон
2003-07-18 13:28
2003.07.31
Длина MEMO.TEXT в пикселях?


1-100678
merlot
2003-07-15 11:54
2003.07.31
Pointer to String