var
strm: TADOBlobstream;
begin
strm := TADOBlobstream.Create(
TBlobField(fADO.FieldByName('SpeakMP3')),bmread);
try
try
strm.Position := 0;
strm.SaveToFile('c:\MP3Temp.Mp3');
except on E: Exception do
ShowMessage('保存内存流出错');
end;
finally
strm.Free;
end;
end;以上代码,在有些机上运行正常,每次都可以得到字段中的MP3数据生成的文件。
可是在有些机上,进入程序后只有第一次能运行,以后再运行总是在保存时出错了。也就是能得到第一次生成的MP3文件。。只有退出程序重新进入才能再得到一个。。
尝试将文件删除DeleteFile();但文件在目录中仍显示,但直接打开却又提示已删除了实在不明白(注:在有些机上删除是正常的)
strm: TADOBlobstream;
begin
strm := TADOBlobstream.Create(
TBlobField(fADO.FieldByName('SpeakMP3')),bmread);
try
try
strm.Position := 0;
strm.SaveToFile('c:\MP3Temp.Mp3');
except on E: Exception do
ShowMessage('保存内存流出错');
end;
finally
strm.Free;
end;
end;以上代码,在有些机上运行正常,每次都可以得到字段中的MP3数据生成的文件。
可是在有些机上,进入程序后只有第一次能运行,以后再运行总是在保存时出错了。也就是能得到第一次生成的MP3文件。。只有退出程序重新进入才能再得到一个。。
尝试将文件删除DeleteFile();但文件在目录中仍显示,但直接打开却又提示已删除了实在不明白(注:在有些机上删除是正常的)
解决方案 »
- 元旦散分,祝大家元旦快乐!!!!!!!!
- 新手问:线程Create(true) 或 Create(false) 报错?
- 奇怪的abort问题!
- 为什么我用Rave Reports 5.0做报表出现List index out of bounds(0)错误
- Delphi中有没有类似于VB的LIKE运算符?
- to sweethzp(黄纸片),to BlueTrees(蜗牛), hahafan(注意!此人前途迷茫)请进,还有一问
- TClientSocket如何设置超时??100分,谢谢!
- 怎样得到当前被添加记录的ID号?
- Delphi 每次启动控件丢失
- 一个菜鸟的问题,请各位高手帮帮忙,很急,先谢了!!答者必有分!!!!1
- 一个关于FLASH插件安装的问题。
- 求:虚拟打印机原理文档?
var
strm: TADOBlobstream;
fs: TFileStream;
begin
fs:=TFileStream.create('c:\MP3Temp.Mp3',fmCreate,fmShareDenyWrite);
try
try
strm := TADOBlobstream.Create(TBlobField(tbl1.FieldByName('SpeakMP3')), bmread); strm.Position := 0;
if (strm.size > 0) then
begin
strm.SaveToStream(fs);
end;
except on E: Exception do
ShowMessage('保存内存流出错'+E.message);
end;
finally
strm.Free;
fs.free;
end;
end;