| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2901 人关注过本帖
标题:delphi窗体调用过程中出现access violation,请高手帮忙
只看楼主 加入收藏
linanguyu
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2008-4-21
结帖率:40%
收藏
 问题点数:0 回复次数:7 
delphi窗体调用过程中出现access violation,请高手帮忙
procedure TForm1.Button1Click(Sender: TObject);
var user,temp:string;
begin
user:=Edit1.Text;
temp:='';
DataModule1.ADOQuery1.Close;
DataModule1.ADOQuery1.SQL.Clear ;
DataModule1.ADOQuery1.SQL.Text:=('select 门诊编号 from 门诊挂号表 where 门诊编号='''+user+'''');
DataModule1.ADOQuery1.Open;
temp:=DataModule1.ADOQuery1.FieldByName('门诊编号').AsString ;
if temp<>''then
Form5.ShowModal
else
showmessage('输入错误,请重新输入!');
end;
搜索更多相关主题的帖子: violation delphi access 窗体 temp 
2008-04-21 14:47
xu2000
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:51
帖 子:3890
专家分:56
注 册:2006-4-8
收藏
得分:0 
这个错误是不是一启动就出现的?如果是,那么就是在Options中调整一下创建顺序就可以了.

我会拿出我全部的钱财,以保你衣食无忧。我会献出我所有的智慧,以助你一帆风顺。我会想到所有的笑语,以令你展眉开颜。我会挤出最长的时间,以使你终生幸福。        [本人原创的结婚宣言]
2008-04-21 14:56
linanguyu
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2008-4-21
收藏
得分:0 
不是的,顺序没问题,Button1的caption属性是正确,如果输入错误值可以正确判断,把调用窗体改为showmessage也能正常运行,就是一输入正确值,调用窗体就出错。
2008-04-21 15:02
xu2000
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:51
帖 子:3890
专家分:56
注 册:2006-4-8
收藏
得分:0 
Application.createForm(TForm5,Form5);
Form5.ShowModal
试试

我会拿出我全部的钱财,以保你衣食无忧。我会献出我所有的智慧,以助你一帆风顺。我会想到所有的笑语,以令你展眉开颜。我会挤出最长的时间,以使你终生幸福。        [本人原创的结婚宣言]
2008-04-21 15:04
linanguyu
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2008-4-21
收藏
得分:0 
好了,问题解决了,太感谢你了,我已经研究好几天了。
2008-04-21 15:11
volte
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:69
帖 子:1167
专家分:1316
注 册:2004-12-19
收藏
得分:0 
其实窗体也最好把他看成一个类,
因为delphi提供了继承窗体这样的概念,
所以最好是在将form5.showmodal改为
if not Assigned(Form5) then
begin
  Form5 := TForm5.Create(Application);
  Form5.ShowModal;
end
else
  Form5.BringToFront;

大家都是朋友,有空就来坐坐!
2008-04-22 17:35
provoke
Rank: 2
来 自:广州
等 级:新手上路
威 望:5
帖 子:175
专家分:0
注 册:2007-6-14
收藏
得分:0 
这个访问违例的错误提示非常极其以及十分不友好
temp:=DataModule1.ADOQuery1.FieldByName('门诊编号').AsString ;
if temp<>''then
...


判断查询结果是否为空,最好不要用这种方法。

if DataModule1.ADOQuery1.RecordCount>0 then     // RecordCount 为数据集的记录数
...
else
...

爱我至爱,至死不渝!
2008-04-22 22:29
linanguyu
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2008-4-21
收藏
得分:0 
谢谢大家的指点,收益匪浅
2008-04-23 15:04
快速回复:delphi窗体调用过程中出现access violation,请高手帮忙
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.035764 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved