对象未初始化?

时间:2021-03-11 23:39:09
程序:
procedure TForm1.Button2Click(Sender: TObject);
var
  sFileName:string;
  bs:TADOBlobStream;
begin
  bs:=TADOBlobStream.Create(TBLOBField(ADODataSet1.FieldByName('BLOB')),bmRead);
  try
    sFileName:=ExtractFilePath(Application.ExeName)+'tmpBlob';
   sFileName:=sFileName+'.'+ADODataSet1.fieldbyName                                  ('Extention').AsString;
    bs.SaveToFile(sFileName);
    OleContainer1.CreateObjectFromFile(sFileName,False); //*********
  finally
    bs.Free;
  end;
end;

请问为何在运行时出错:对象未初始化,指//*********这一行?请高手执教!!

7 个解决方案

#1


调试过,好像没发现这个问题啊?
:(

#2


楼主,你能告诉俺你这是要干啥吗?

#3


sFileName:string;声明为TMemoryStream试试.
SaveToStream;
ReadBuffer;

#4


ADODataSet1.FieldByName('BLOB')) 里面的存的是什么,怎么存的?

OleContainer1.LoadFromFile 试试

#5


把错误信息贴出来!


不会就是中文吧?


#6


CreateObjectFromFile是要根据相应的文件后缀名,自动创建相应的对象.
比如:CreateObjectFromFile("aaa.bbb",false)肯定出错,因为找不到对应.bbb文件的对象.
如果你的机器没有安装Word,却CreateObjectFromFile('a.doc',false)就会出错.

#7


我加载的是一个影像文件,mpg格式的,我试过,不行,总是提示对象未初始化?

#1


调试过,好像没发现这个问题啊?
:(

#2


楼主,你能告诉俺你这是要干啥吗?

#3


sFileName:string;声明为TMemoryStream试试.
SaveToStream;
ReadBuffer;

#4


ADODataSet1.FieldByName('BLOB')) 里面的存的是什么,怎么存的?

OleContainer1.LoadFromFile 试试

#5


把错误信息贴出来!


不会就是中文吧?


#6


CreateObjectFromFile是要根据相应的文件后缀名,自动创建相应的对象.
比如:CreateObjectFromFile("aaa.bbb",false)肯定出错,因为找不到对应.bbb文件的对象.
如果你的机器没有安装Word,却CreateObjectFromFile('a.doc',false)就会出错.

#7


我加载的是一个影像文件,mpg格式的,我试过,不行,总是提示对象未初始化?