delphi窗口的create和free,一个古老的话题

窗体分为模式窗体和无模式窗体。

模式窗体在创建窗口创建和释放:

begin
  if not Assigned(FB_Input_JianYanDan) then FB_Input_JianYanDan :=TFB_Input_JianYanDan.Create(Self);
  try
    FB_Input_JianYanDan.ShowModal;
  finally
    FB_Input_JianYanDan.Free;
    FB_Input_JianYanDan:= nil;
  end;
end;

非模式窗口:在自己的窗口close中free:FreeAndNil(FB_Input_JianYanDan);

时间: 2024-10-08 19:58:29

delphi窗口的create和free,一个古老的话题的相关文章

delphi 窗口最大化后控件的大小变化怎么设置

设置按钮的Anchors属性.可以通过此属性设置其边界是否随父类一起变化.默认akleft+aktop即左边界和上边界随窗口变化,也就是说如果窗口位置移动了,按钮将保持其left和top边界与窗口的距离. 例如你在窗口右下角放上一个按钮,设置Anchors的属性为[akRight+akBottom],则无论你窗口怎么调整,按钮一直保持在窗口右下角.(即保持右边界与下边界同窗口边界距离不变) 如果[akLeft+akTop+akRight+akBottom]全部加上,那按钮将会随着窗口的大小变化而

Delphi 窗口半透明

//    function SetLayeredWindowAttributes(hwnd:HWND; crKey:Longint; bAlpha:byte; dwFlags:longint ):longint; stdcall; external user32;//函数声明 //    引用Windows单元后可以直接使用 procedure TForm2.Button8Click(Sender: TObject); var l:longint; begin l:=getWindowLong

C#关闭一个窗口的同时打开另一个窗口

在.net的WinForm程序中,如果是直接起动的Form作为主窗口,那么这个主窗口是不能关闭的,因为它维护了一个Windows消息循环,它一旦关闭了就等于声明整个应用程序结束,所以新打开的窗口也就被自动关闭了.因此要关闭的窗口不能用Application.Run创建.要在关闭一个窗口的同时打开另一个窗口,可以按如下做法: 先在第一个窗口声明一个公共的bool变量并赋值为true: 如public bool closeflag = true;在program类里运行第二个窗口,主要代码:    

C#如何关闭一个窗口的同时打开另一个窗口

在.net的WinForm程序中,如果是直接起动的Form作为主窗口,那么这个主窗口是不能关闭的,因为它维护了一个Windows消息循环,它一旦关闭了就等于声明整个应用程序结束,所以新打开的窗口也就被自动关闭了.因此要关闭的窗口不能用Application.Run创建.如何使用Hide()(只是隐藏,其实进程还被占用着)之类或者Close()(这个操作会把所有窗体关闭,因为属于同一个线程)是达不到我们需要的效果的.要在关闭一个窗口的同时打开另一个窗口,可以按如下做法: 先在第一个窗口声明一个公共

CREATE FUNCTION - 定义一个新函数

SYNOPSIS CREATE [ OR REPLACE ] FUNCTION name ( [ argtype [, ...] ] ) RETURNS rettype { LANGUAGE langname | IMMUTABLE | STABLE | VOLATILE | CALLED ON NULL INPUT | RETURNS NULL ON NULL INPUT | STRICT | [EXTERNAL] SECURITY INVOKER | [EXTERNAL] SECURITY

CREATE OPERATOR - 定义一个新的操作符

SYNOPSIS CREATE OPERATOR name ( PROCEDURE = funcname [, LEFTARG = lefttype ] [, RIGHTARG = righttype ] [, COMMUTATOR = com_op ] [, NEGATOR = neg_op ] [, RESTRICT = res_proc ] [, JOIN = join_proc ] [, HASHES ] [, MERGES ] [, SORT1 = left_sort_op ] [,

CREATE DOMAIN - 定义一个新域

SYNOPSIS CREATE DOMAIN name [AS] data_type [ DEFAULT expression ] [ constraint [ ... ] ] where constraint is: [ CONSTRAINT constraint_name ] { NOT NULL | NULL | CHECK (expression) } DESCRIPTION 描述 CREATE DOMAIN 创建一个新的数据域. 定义域的用户成为其所有者. 如果给出一个模式名称(比如,

CREATE RULE - 定义一个新的重写规则

SYNOPSIS CREATE [ OR REPLACE ] RULE name AS ON event TO table [ WHERE condition ] DO [ INSTEAD ] { NOTHING | command | ( command ; command ... ) } DESCRIPTION 描述 CREATE RULE 定义一个适用于特定表或者视图的新规则. CREATE OR REPLACE RULE 要么是创建一个新规则, 要么是用一个同表上的同名规则替换现有规则.

CREATE VIEW - 定义一个视图

SYNOPSIS CREATE [ OR REPLACE ] VIEW name [ ( column_name [, ...] ) ] AS query DESCRIPTION 描述 CREATE VIEW 定义一个查询的视图. 这个视图不是物理上实际存在(于磁盘)的.具体的说,自动生成一个改写索引规则(一个 ON SELECT 规则)的查询用以支持在视图上的检索. CREATE OR REPLACE VIEW 类似,不过是如果一个同名的视图已经存在,那么就替换它. 你只能用一个生成相同字段的