如何获取和关闭动态创建的 Form ?(100)

  • 主题发起人 主题发起人 tom12345
  • 开始时间 开始时间
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ComCtrls, jpeg,shellapi; type TForm1 = class(TForm) Image11: TImage; Timer1: TTimer; Button1: TButton; Button2: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private declarations } public { Public declarations } end;var Form1: TForm1; i:integer; TFrm :TForm;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject); // 自动创建 Formbegin For i:=1 to 3 do begin TFrm := TForm.Create(Self); with TFrm do begin Name:='Form1'+inttostr(i); Caption:='Form1'+inttostr(i); FormStyle:=fsStayOnTop; top:=120+i*30; Left:=200+i*30; Width := 250; Height := 200; end; TFrm.show; end;end;procedure TForm1.Button2Click(Sender: TObject); // 关闭 Formbegin for i := 0 to Screen.FormCount-1 do begin if Screen.Forms.Caption <> 'Form1' then begin Screen.Forms.Free; Screen.Forms.close; end; end;end;end.
 
点击 Button1,自动创建的 Form。点击 Button2 时, 自动创建的 Form 消失,但显示“List index out of bounds(2) ”,再点击 Button1 时,显示“ A component named FormXX already exists.”
 
招聘启示本公司是一家大型的信息专业网站,公司09年为了开拓全国业务需要,现急需招聘具备良好的团队合作精神,责任感强,善于沟通,能够承受压力的程序员3-5名,职位要求如下:(一)Delphi程序员1、三年以上Delphi开发经验,精通Delphi+SQL Server编程, 熟悉SQ LServer数据库;2、从事过行业管理信息系统开发全过程,具有一定的软件工程思想;3、有电子商务、国际货运代理、仓储、物流EDICRM软件开发经验优。(二)C#程序员1.二年以上C#软件研发工作经验;2.有软件体系结构设计经验,有很强的C#编码技能;3.精通XML、MSDTC、COM+/COM、Web Services和.net framework;4.熟练掌握Oracle、SQL Server等大型数据库系统,熟悉数据库设计、调优及SQL存储过程的编写。(三)网站设计程序员1. 美术、计算机二年以上工作经验;2. 熟悉SQL数据,精通ASP.NET编程进行后台的开发,有一定的编辑经验,能够独立完成项目方案的设计;3. 精通网页设计和平面设计的相关软件,如Dreamweaver、Photoshop、Flash、Coredraw等 ;4.文字功底好,有丰富的想象策划能力,能独立完成大型网站的建设需求/策划方案。 工作地点:河南 工作方式:全职 福利待遇:面议(不会低于你的期望值)联系方式:冯先生 13603728111
 
fxhhnhjwsd, 发错地方了吧
 
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Button1: TButton; Button2: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private declarations } public { Public declarations } end;var Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);var i:Integer; TFrm:TForm1;begin For i:=1 to 3 do begin TFrm := TForm1.Create(Self); with TFrm do begin Name:='Form1'+inttostr(i); Caption:='Form1'+inttostr(i); FormStyle:=fsStayOnTop; top:=120+i*30; Left:=200+i*30; Width := 250; Height := 200; end; TFrm.show; end;end;procedure TForm1.Button2Click(Sender: TObject);var i:Integer;begin for i := Screen.FormCount-1 downto 0 do begin if Screen.Forms.Caption <> 'Form1' then begin Screen.Forms.close; Screen.Forms.Free; end; end;end;end.这么简单个问题,搞了半天
 
浪人情哥,绝非浪得虚名,谢谢你。
 
后退
顶部