不好意思我没明白你的意思。
这是载入的代码:
procedure TMainForm.ButtonUpClick(Sender: TObject);
var
FN: String;
begin
with OpenDialog do
if Execute then
begin
UPData:=False; //打开文件
FN := ExtractFileName(FileName);
OleContainer.CreateObjectFromFile(FileName, False); //创建OLE对象
OleContainer.SaveToFile('tmp');
with DataSetBrokerAffix.DataSet do
begin
Append;
FieldByName('FName').AsString := FN;
FieldByName('FFileName').AsString := FN;
FieldByName('FSourceFile').AsString := FN;
TBlobField(FieldByName('FFile')).LoadFromFile('tmp');
FieldByName('FFKID').AsInteger := IID;
Post;
ApplyUpdates;
end;
UPData:=true;
end;
end;
这是显示的代码:
procedure TMainForm.DataSetBrokerAffixAfterScroll(DataSet: TDataSet);
var lStream: TStream;
begin
try
lStream := TMemoryStream.Create;
lStream := DataSetBrokerAffix.DataSet.CreateBLOBSTREAM(DataSetBrokerAffix.DataSet.fieldbyname('FFile'),TBlobStreamMode.bmRead);
if lStream.Size = 0 then
begin
lStream.Free;
Exit;
end;
OleContainer.CreateObject('word.document',true);
Olecontainer.loadfromstream(lStream);
finally
lStream.free;
end;
end;
我现在报错在显示的代码报错:
运行监造简报的时候发生异常:Invalid stream format
类型:EOleError。
报错语句在:
lStream := DataSetBrokerAffix.DataSet.CreateBLOBSTREAM(DataSetBrokerAffix.DataSet.fieldbyname('FFile'),TBlobStreamMode.bmRead);
你看看我应该怎么改。。非常感谢。。十分感谢。。回来给你送锦旗表扬信~~~ |