当前位置:主页>仓库管理软件> 列表

有没有没有睡的?请问Button1怎样调用form1的Fo 找工程项目管理软件

进销存软件版1楼: 我写了form的FormCloseQuery事件,现在button想调用它,我是如下写的:
procedure TForm1.SpeedButton4Click(Sender: TObject);
begin
Form1.FormCloseQuery(SpeedButton4,true);
end;
可是为什么error?
另,我想问一下,sender什么意思?怎么用?请详细说下.

这是我在富翁的第一个问题,多谢了.

2楼: 第一个问题啊,大家帮忙看看.我要晕了! 如管家婆软件的使用

3楼: 帮帮新手吧!

4楼: sender “通常”是事件的发起者,如:
procedure TForm1.SpeedButton4Click(Sender: TObject); 中如果确实是点击 SpeedButton1 引起的事件,那么 Sender 就是 SpeedButton1;
那个:
Form1.FormCloseQuery(SpeedButton4,true);
应该改为:Form1.FormCloseQuery(Form1,true);
还有,直接调这个干吗 ? ;>

5楼: 事件里直接写
Close 就可以了

6楼: LSUPER说的对。再有,既然域是相同的,不要如此写
Form1.FormCLoseQuery(Form1,true);
这样写倒是没有什么错误,可是有些古怪。
self.FormCloseQuery(self, true);
这样的编码更清晰一些。

进销存软件版7楼: 第二个参数是变参,所以你不能传常量True进去.
要这样

procedure TForm1.SpeedButton4Click(Sender: TObject);
var
CanClose:Boolean;
begin
CanClose:=True;
Form1.FormCloseQuery(SpeedButton4,CanClose);
end;

sender 就是事件的触发者, 通常是有form1来触发form1closequery事件的,但是
你调用时Form1.FormCloseQuery(SpeedButton4,CanClose)时,sender就是你传入的speedbutton4了

8楼: FormCLoseQuery事件一般是由窗体销毁触发的,你可以这样写
procedure TForm1.SpeedButton4Click(Sender: TObject);
begin
close; //就可以触发
end;

9楼: close的时候自动先触发closequery,直接调close就可以了

10楼: 多谢各位!这里Delphier们的水平8错啊!
以后多来!

11楼: 多谢各位!

12楼: procedure TForm1.SpeedButton4Click(Sender: TObject);
var
CanClose:Boolean;
begin
CanClose:=True;
Form1.FormCloseQuery(nil);
end; 如工程项目管理软件