W
wk_knife
Unregistered / Unconfirmed
GUEST, unregistred user!
在大富翁转了几圈,发现富翁们爱讨论理论性的问题,而不太喜欢技术细节方面的问题(对于富翁们来说,重复的太多),我的问题估计富翁们以前不会遇到过,也不能算是细节类的问题,求教富翁为我弄懂基本概念(100分)<br />为了不让富翁们多跑路,我把问题贴过来:
[blue]问题:小小的问题————给还愿意为初学者解惑答疑的富翁————也许值得一看,路过了别错过 ! ( 积分:100, 回复:6, 阅读:68 )
分类:IDE/使用技巧 ( 版主:luyear, menxin )
来自:wk_knife, 时间:2001-10-25 14:11:00, ID:689640 | 编辑 [显示:小字体 | 大字体]
Marco Cantu在《Delphi5从入门到精通》中说“在处理对象某个时间的同时,不能
消除该对象,否则会引起一个异常”
在Delphi的帮助中有如下一段话:
Warning: Never explicitly free a component within one of its own event
handlers or free a component from the event handler of a
component it owns or contains. For example, don't free a button
in its OnClick event handler or free the form that owns the
button from the button's OnClick event.
在窗体中建立一个按纽,处理OnClick
事件时:
procedure TForm1.ButtonKeyPress(Sender:TObject,var Key:Char)
begin
if Key=#8 then
Sender.Free;
end;
未出现任何问题(当然一般没人会写这样的代码)
请各位富翁就KeyPress事件写一个可以引发异常的代码。
或者是Marco Cantu说错了,而帮助也并没有说会发生异常。
来自:wk_knife, 时间:2001-10-25 14:28:00, ID:689681 | 编辑
对于OnClick也是一样的 。
来自:wk_knife, 时间:2001-10-25 14:30:00, ID:689684 | 编辑
难道富翁们不觉得的这背后隐藏着很深的奥秘?
来自:wk_knife, 时间:2001-10-25 14:38:00, ID:689702 | 编辑
就算“GZ”也行啊,给点信心好吗?
来自:Cowry, 时间:2001-10-25 14:46:00, ID:689719
Sender.Free是不是把整个程序给终止了?
改成Button.Free试试?应该就会引发异常了吧
来自:wk_knife, 时间:2001-10-25 14:51:00, ID:689731 | 编辑
试过了的,一样的结果。按钮不见了,其他什么也没发生。
来自:zhangkan, 时间:2001-10-25 14:52:00, ID:689734
我将Form的KeyPress事件中加上,结果居然表单都不见了,但程序还在运行.程序又只有这一个
表单,我也想知道原因.
[/blue]
[blue]问题:小小的问题————给还愿意为初学者解惑答疑的富翁————也许值得一看,路过了别错过 ! ( 积分:100, 回复:6, 阅读:68 )
分类:IDE/使用技巧 ( 版主:luyear, menxin )
来自:wk_knife, 时间:2001-10-25 14:11:00, ID:689640 | 编辑 [显示:小字体 | 大字体]
Marco Cantu在《Delphi5从入门到精通》中说“在处理对象某个时间的同时,不能
消除该对象,否则会引起一个异常”
在Delphi的帮助中有如下一段话:
Warning: Never explicitly free a component within one of its own event
handlers or free a component from the event handler of a
component it owns or contains. For example, don't free a button
in its OnClick event handler or free the form that owns the
button from the button's OnClick event.
在窗体中建立一个按纽,处理OnClick
事件时:
procedure TForm1.ButtonKeyPress(Sender:TObject,var Key:Char)
begin
if Key=#8 then
Sender.Free;
end;
未出现任何问题(当然一般没人会写这样的代码)
请各位富翁就KeyPress事件写一个可以引发异常的代码。
或者是Marco Cantu说错了,而帮助也并没有说会发生异常。
来自:wk_knife, 时间:2001-10-25 14:28:00, ID:689681 | 编辑
对于OnClick也是一样的 。
来自:wk_knife, 时间:2001-10-25 14:30:00, ID:689684 | 编辑
难道富翁们不觉得的这背后隐藏着很深的奥秘?
来自:wk_knife, 时间:2001-10-25 14:38:00, ID:689702 | 编辑
就算“GZ”也行啊,给点信心好吗?
来自:Cowry, 时间:2001-10-25 14:46:00, ID:689719
Sender.Free是不是把整个程序给终止了?
改成Button.Free试试?应该就会引发异常了吧
来自:wk_knife, 时间:2001-10-25 14:51:00, ID:689731 | 编辑
试过了的,一样的结果。按钮不见了,其他什么也没发生。
来自:zhangkan, 时间:2001-10-25 14:52:00, ID:689734
我将Form的KeyPress事件中加上,结果居然表单都不见了,但程序还在运行.程序又只有这一个
表单,我也想知道原因.
[/blue]