Непонятки с OLE
у меня существует форма. На ней OLE Container. ПОльзователь может загрузить любой документ (в частьности .Doc). При сохранении объекта в БД сначало происходит сохранение из ОЛЕКонтейнера в файл, а затем файл загружается в поле набора данных. ПРи выборке я возвращаю сохранённый документ и хочу его отобразить в FR. Но в момент загрузки объекта возникает ошибка чтения потока в след. процедуре.
procedure TfrxOLEView.GetData;
var
s:TMemoryStream;
begin
inherited;
if IsDataField then
begin
s:= TMemoryStream.Create;
try
DataSet.AssignBlobTo(DataField, s);
FOleContainer.LoadFromStream(s);
finally
s.Free;
end;
end;
end;
Есть ли безболезненное решение задачи?
procedure TfrxOLEView.GetData;
var
s:TMemoryStream;
begin
inherited;
if IsDataField then
begin
s:= TMemoryStream.Create;
try
DataSet.AssignBlobTo(DataField, s);
FOleContainer.LoadFromStream(s);
finally
s.Free;
end;
end;
end;
Есть ли безболезненное решение задачи?
Комментарии
1) Сохрани из обычного контейнера только сам doc файл.
2) Сохрани из обычного контейнера все содержимое контейнера (в этом случае сохраняется сам файл плюс какая то еще дополнительная информация самого контейнера).
А потом попробуй загрузить один из этих файлов в frxOLEView.