几个小问题,请各位初高都来看看!!!(100分)

  • 主题发起人 主题发起人 itman
  • 开始时间 开始时间
I

itman

Unregistered / Unconfirmed
GUEST, unregistred user!
1、
try
application.create(tsecform,secfrom);
secform.showmodal;
finally
secform.free;
end;
可以显示窗口,而把secfor.showmodal改为SECFORM.SHOW后窗口显示完后会自动关闭
所以想问一下在这里SHOW,和SHOWMODAL的内在区别,想请教一下各位SHOW,SHOWMODAL的
内在区别,另外,secfrom:=tscefrom.create(self);secfrom.showmodal;
var i:tscefrom begin i:=tscefrom.create(self); i.showmodal;
selcfrom:=tscefrom.create(application)之间有什么区别,
2在我的程序中有个数据表建表时设立了KEY值,当在程序中给数据库输入了与KEY值
相同的记录时出现KEY VIOLATION时,我想问一下怎样在程序中捕捉这个错误,是TRY。。
EXCEPT好像捕捉的不一定是KEY值错还可能是其它错误。
3、另外想问一下怎么做像速达那样的DBLOOKCOMBOX输入框,框中有一'新增记录后打开另一
窗体。
4、用什么做报表较好。





 
1.模式对话框 显示后
调用程序回等待对话框关闭再继续运行
所以用show时,你的对话框被free了
2.当然捕获各种错误了
试试捕获特定异常
3.
4.都很复杂
 
关于TRY。。。ON ERROR什么的不知和TRY 。。。。EXCPTION有什么区别
 
1.ShowModal:模式显示窗体不能切换到其他窗体,须关闭后才能继续运行后面的代码;
2.Show;非模式显示窗体,能切换到其他窗体,窗体显示后继续运行后面的代码若是动态创建
的需赋NIL值;
3.在PostError事件中分析E,为eKeyViol则Abort;
4.我也想知道;
5.好象我没见过TRY。。。ON ERROR至于TRY 。。。。EXCPTION则是出现异常才执行EXCPTION
后的代码。
 
谢谢各位,好像大家都没有提到secfrom:=tscefrom.create(self);secfrom.showmodal;
var i:tscefrom begin i:=tscefrom.create(self); i.showmodal;
selcfrom:=tscefrom.create(application)之间有什么区别,谢谢!
 
唯一的差别就是宿主问题。
一个是 Self --- 当前窗体
一个是 Application -------- 一个谁都愿意用的东西。

如果你没有特定的后续处理,这两种方法基本是一样的。
除非你需要特别指定宿主,那么会有很大的差别。
 
关于异常,Delphi有很好的帮助说明:
try

X := Y/Z;
except
on EZeroDivide do HandleZeroDivide;
end;

也就是用 On ErrorType 进行特定异常处理。
 
关于报表,应该说不会有什么更好的建议,
因人而异。有人喜欢用现成的组件,有人
喜欢手工处理。你也可以选择其一。

总的说来,现成的组件要相对容易,便受组件限制;
手工制作更有余地,但麻烦。如此而已。
 
谢谢大家,没分了!!!!
继续问大家一个小问题后接束此问题。我想让DBGRID的网格一行有2个网格(假设:1,5列)
可当点击随便哪个BUTTON都只产生ONEDITBUTTONCLICK事件,不知有没有办法解决,
另我想在DBGRID的5列中双击后打开另一窗口,我样写的:在DBGRID的双击事件(ONDBCLICK)写上
if dbgrid1.cloumns.item[5].fieldname='gys' then
begin
try
application.createform(tselgys,selgys);
selgys.showmodal;
finally
selgys.free;
end;
可随便在哪一列双击都产生这个事件?

 
不好意思,打错了<<我想让DBGRID的网格一行有2个网格 改为我想让DBGRID的网格一行的2
列网格
另ONEDITBUTTONCLICK事件是当把DBGRID的字段的BUTTONSTYCE 设为CBSELIPS时的BUTTON事件
 
那如果用APPLICATION.CREATEFORM(TSECFORM,SECFORM)
SECFOR.SHOW;
建立的变量SECFORM什么时候FREE;
 
“那如果用APPLICATION.CREATEFORM(TSECFORM,SECFORM)
SECFOR.SHOW;
建立的变量SECFORM什么时候FREE;”

程序结束的时候FREE。
 
结束时FREE 能具体一点吗?不知道ACTION:=CAFEE后TSECFORM变量是否FREE了
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
990
import
I
I
回复
0
查看
822
import
I
后退
顶部