unit Unit_global;interface
uses Forms,SysUtils;procedure MenuItemClick(Form_name:Tform;FormClass:TFormClass);
procedure close_window(form_name:Tform) ;implementation//菜单打开窗口
procedure MenuItemClick(Form_name:Tform;FormClass:TFormClass);
begin
if Form_name=nil then
begin
Form_name:=FormClass.Create(Application);
Form_name.OnClose:=close_window(Form_name);
Form_name.Show ;
end
else
Form_name.Show;
end;//关闭窗口事件
procedure close_window(form_name:Tform) ;
begin
form_name.Action.Free ;
form_name:=nil;
end;end.上述代码在编译时报错:[Error] Unit_global.pas(17): Incompatible types: 'TCloseEvent' and 'procedure, untyped pointer or untyped parameter'应该怎么写呢?
uses Forms,SysUtils;procedure MenuItemClick(Form_name:Tform;FormClass:TFormClass);
procedure close_window(form_name:Tform) ;implementation//菜单打开窗口
procedure MenuItemClick(Form_name:Tform;FormClass:TFormClass);
begin
if Form_name=nil then
begin
Form_name:=FormClass.Create(Application);
Form_name.OnClose:=close_window(Form_name);
Form_name.Show ;
end
else
Form_name.Show;
end;//关闭窗口事件
procedure close_window(form_name:Tform) ;
begin
form_name.Action.Free ;
form_name:=nil;
end;end.上述代码在编译时报错:[Error] Unit_global.pas(17): Incompatible types: 'TCloseEvent' and 'procedure, untyped pointer or untyped parameter'应该怎么写呢?
解决方案 »
- DELPHI 基础语法
- 新人报道,指点一二!
- 平安夜散点分吧。
- 如何调用vc的com接口,急急
- 请问如何拖DBGrid的数据到Treeview 中,解决了马上给分~,谢谢了
- 报表问题:可以自动换行,可以调整字间距和行间距。有什么方法或控件?
- 紧急情况,在线等待:在窗体A中添加了一个线程单元,并在窗体A uses 上声明了线程单元,但在调试时出现错误如下:Circular unit reference
- ****delphi web打包***
- 为什么这么多问题解答了都不给分。问问题的哪里去了,版主哪里去了。
- 关于RICHEDIT、MEMO和FINDTEXT的一个问题??
- delphi接口
- locate参数问题
这是一个过程定义,不是事件的定义,所以不兼容。
Form_name.OnClose:=close_window(Form_name);
var Action: TCloseAction);
begin
Action:=Cafree;
Form2:=nil;
end;那具体应该怎么改呢?
改成
procedure close_window(Sender: TObject; var Action: TCloseAction) ;
那我这句应该怎么写?
Form_name.OnClose:=close_window(Form_name);
var Action: TCloseAction);
begin
Action:=Cafree;
end;//关闭窗口事件
procedure close_window(form_name:Tform) ;
begin
form_name.OnClose = frmclose;
form_name.close;
form_name := nil;
end;