Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.014 c
14-100883
Nemra
2003-07-15 17:27
2003.07.31
Читаю из файла


14-100985
LiLa Ananda
2003-07-16 08:29
2003.07.31
Делитесь ли вы проблемами?


1-100790
sdram
2003-07-17 09:07
2003.07.31
Как вычислить выражене записанное в поле базы?


4-101018
BJValentine
2003-05-27 18:42
2003.07.31
CreateProcess


11-100658
Arhangel
2002-11-28 22:45
2003.07.31
Народ, что я не так делаю?




   Наверх