Вниз
Скачать: 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.45 MB
Время: 0.014 c
3-100543
Sheng
2003-07-11 09:14
2003.07.31
Переиндексация БД


4-101044
Bardak
2003-05-26 19:08
2003.07.31
SendMessage и WM_HOTKEY


4-101014
mpe
2003-05-25 16:18
2003.07.31
Как в Win98SE изменить время создания каталога?


4-101046
SerVel
2003-05-27 09:03
2003.07.31
CreateThread(...);


8-100845
AlexOld
2003-04-07 11:16
2003.07.31
Выделение мышью фрагмента на Canvas




   Наверх