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;
SaveToStream;
ReadBuffer;
#4
ADODataSet1.FieldByName('BLOB')) 里面的存的是什么,怎么存的?
OleContainer1.LoadFromFile 试试
OleContainer1.LoadFromFile 试试
#5
把错误信息贴出来!
不会就是中文吧?
不会就是中文吧?
#6
CreateObjectFromFile是要根据相应的文件后缀名,自动创建相应的对象.
比如:CreateObjectFromFile("aaa.bbb",false)肯定出错,因为找不到对应.bbb文件的对象.
如果你的机器没有安装Word,却CreateObjectFromFile('a.doc',false)就会出错.
比如:CreateObjectFromFile("aaa.bbb",false)肯定出错,因为找不到对应.bbb文件的对象.
如果你的机器没有安装Word,却CreateObjectFromFile('a.doc',false)就会出错.
#7
我加载的是一个影像文件,mpg格式的,我试过,不行,总是提示对象未初始化?
#1
调试过,好像没发现这个问题啊?
:(
:(
#2
楼主,你能告诉俺你这是要干啥吗?
#3
sFileName:string;声明为TMemoryStream试试.
SaveToStream;
ReadBuffer;
SaveToStream;
ReadBuffer;
#4
ADODataSet1.FieldByName('BLOB')) 里面的存的是什么,怎么存的?
OleContainer1.LoadFromFile 试试
OleContainer1.LoadFromFile 试试
#5
把错误信息贴出来!
不会就是中文吧?
不会就是中文吧?
#6
CreateObjectFromFile是要根据相应的文件后缀名,自动创建相应的对象.
比如:CreateObjectFromFile("aaa.bbb",false)肯定出错,因为找不到对应.bbb文件的对象.
如果你的机器没有安装Word,却CreateObjectFromFile('a.doc',false)就会出错.
比如:CreateObjectFromFile("aaa.bbb",false)肯定出错,因为找不到对应.bbb文件的对象.
如果你的机器没有安装Word,却CreateObjectFromFile('a.doc',false)就会出错.
#7
我加载的是一个影像文件,mpg格式的,我试过,不行,总是提示对象未初始化?