Форум: "Основная";
Текущий архив: 2003.07.31;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.008 c