如何释放资源
我在Delphi 中打开 pdf 文件
但是 连续点击两次就会出错,(其核心控件是pdf1 我是装了pdf.ocx ,之后就有个pdf1控件在控件栏上面的 )
当运行时我点击一次Button1 时就会正常显示对应的pdf文件 ,但是当再次点击Button1时系统就会报告错误
或者是当我点击一次Button1 时就会正常显示对应的pdf文件 ,然后在点 Button2 (其代码跟Button1 中的一样 只是将其中的 123 更改为 234 ) 系统就会报告错误
错误报告如下:
Project Project1.exe raised exception class EAccessViolation with message 'Access violation at address 00e8F134 in module 'Project1.exe'.Read of address 0000002220' Process stopped Use or Run to continue
请问我要如何做才可以点多次Button1或者在其他按纽也可以调用Pdf1 谢谢
部分代码如下:procedure TForm1.Button1Click(Sender: TObject);
var
fpdf:String;
begin
fpdf:='c:\aa.pdf';
ADOQuery1.SQL.Clear;
adoquery1.sql.text:='select * from pdf where billsn='+''''+'123'+''''+'';
adoquery1.open;
TBlobField(adoquery1.fieldbyname('pdf')).savetofile('c:\aa.pdf');
Pdf1.src:=fpdf;
end
我要如何做 谢谢
我在Delphi 中打开 pdf 文件
但是 连续点击两次就会出错,(其核心控件是pdf1 我是装了pdf.ocx ,之后就有个pdf1控件在控件栏上面的 )
当运行时我点击一次Button1 时就会正常显示对应的pdf文件 ,但是当再次点击Button1时系统就会报告错误
或者是当我点击一次Button1 时就会正常显示对应的pdf文件 ,然后在点 Button2 (其代码跟Button1 中的一样 只是将其中的 123 更改为 234 ) 系统就会报告错误
错误报告如下:
Project Project1.exe raised exception class EAccessViolation with message 'Access violation at address 00e8F134 in module 'Project1.exe'.Read of address 0000002220' Process stopped Use or Run to continue
请问我要如何做才可以点多次Button1或者在其他按纽也可以调用Pdf1 谢谢
部分代码如下:procedure TForm1.Button1Click(Sender: TObject);
var
fpdf:String;
begin
fpdf:='c:\aa.pdf';
ADOQuery1.SQL.Clear;
adoquery1.sql.text:='select * from pdf where billsn='+''''+'123'+''''+'';
adoquery1.open;
TBlobField(adoquery1.fieldbyname('pdf')).savetofile('c:\aa.pdf');
Pdf1.src:=fpdf;
end
我要如何做 谢谢
解决方案 »
- 关于截获系统消息的问题
- wwDBGrid 动态添加字段
- 仍然单身的朋友们(我是说连女朋友都没有的),进来报个道,打算今年结束单身的朋友们,也进来报道!
- MDI主窗体上放的东西一直显示到最上面怎么办
- delphi7 中quick如何控制打印大小
- TStringDynArray 和String 类型怎样相互转换??
- 过年了,在这儿祝愿大家新年快乐。。送分了。(放错了地方请不要扣我信誉分)
- 为了防止程序出现错误,请问如何拦截错误并处理错误!!100分
- 求高手:做一个登录窗口,别人杀不掉的。用于网络计费工作。
- 如何下载frame for frame 的ie页面,就像csdn一样由几个页面组成的网页?(200分)
- 请问delphi有没有像JScript那样的单纯输入框?(非窗体的)
- 关于插值的问题
fpdf:='c:\aa.pdf';
Pdf1.src:=fpdf; //打开pdf文件
就可以打开对应的pdf文件, 可是不能点两次 或者不能在其他地方进行
Pdf1.src:=fpdf; 这样打开文件
Project Project1.exe raised exception class EAccessViolation with message 'Access violation at address 00e8F134 in module 'Project1.exe'.Read of address 0000002220' Process stopped Use or Run to continue
procedure TForm1.Button1Click(Sender: TObject);
begin
edit1.txt:='你好'
end ;
这样 Button1 可以点多次 或者在 Button2Click 中也可以
edit1.txt:='真好';
系统不会出错误
发现结束进程ArcoRd32.exe后就不会打不开。所以在加载一个pdf文件之前,结束可能存在的ArcoRd32.exe就不会有问题,不知道楼主的具体情况是什么样的。
测试环境:
Win2003 Server
Delphi7.0
您好,有在吗? 你是如何打开的.我的代码如下,当我运行程序时 执行了点了 Button1 可以正常打开文件 可是在点 Button2 时(或者在点Button1 时)就报告错误了,请告诉你 是怎么做以达到效果的.谢谢
procedure TForm1.Button1Click(Sender: TObject);
var
fpdf:WideString;
Pdf2: TPdf;
begin
fpdf:='c:\aa.pdf';
ADOQuery1.SQL.Clear;
adoquery1.sql.text:='select * from pdf where billsn='+''''+'123'+''''+'';
adoquery1.open;
TBlobField(adoquery1.fieldbyname('pdf')).savetofile('c:\aa.pdf');
Pdf1.src:=fpdf;
end; procedure TForm1.Button2Click(Sender: TObject);
var
fpdf:String; begin
fpdf:='c:\bb.pdf';
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
adoquery1.sql.text:='select * from pdf where billsn='+''''+'345'+''''+'';
adoquery1.open;
TBlobField(adoquery1.fieldbyname('pdf')).savetofile('c:\bb.pdf');
Pdf1.src:=fpdf; end;
Pdf1.src:=fpdf;
DELPHI告诉你要访问的资源不存在导致异常,把数据库部分去掉先用熟那个OCX吧。
几天都解决不了?!