如何动态创建窗体? 如何动态创建窗体 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 例如创建form1application.createform(Tform1,form1);from1.showmodal;//..........form1.free; 但是如果在form1里创建其他的,不是该窗体本身,比如application.createform(Tform2,form2);怎么就出错啊,怎么定义TForm2呢? 但是如果在form1里创建其他的,不是该窗体本身,比如application.createform(Tform2,form2);怎么就出错啊,怎么定义TForm2呢?描述清楚哪里出错出什么错什么怎么定义TForm2?? uses Unit2;procedure TForm1.Button1Click(Sender: TObject);begin //方法1 application.createform(Tform2,form2); form2.Show; //方法2 form2 := TForm2.Create(self); try form2.ShowModal; finally form2.Free; end;end;方法2比较常用,因为系统运行期间,内存消耗相对较小,并且创建对象和释放对象匹配出现,不容易造成内存泄漏。这个问题未免太简单,不过有那么多勋章的,应该可以猜测问题所在。 with TForm2.Create(Application) dobegin ShowModal; Free;end;以上这种创建方式创建的窗体在显示时,只能操作 Form2 窗体中的内容(即创建的是模式窗口)。with TForm2.Create(Application) dobegin Show;end;以上这种创建方式创建的窗体则可以操作其它窗体中的内容(即非模式窗口)。此时,为避免重复创建窗体,则需要在创建前先判断本类型的窗体是否已经被创建了。 uses uint2;form2:=Tform2.create(self); delphi里有相关的例子,在New Items/projects/MDI Application就是可以动态创建窗体的例子! form2 := TForm2.Create(self); try form2.ShowModal; finally form2.Free; end; 但是如果在form1里创建其他的,不是该窗体本身,比如application.createform(Tform2,form2);怎么就出错啊,怎么定义TForm2呢?不用定义 cxgrid选中多行删除问题 DBGrid1怎样按回车代替TAB键 MDI界面打开子窗口出现地址访问非法的错误。 监控操作 20分请求帮忙解决一个容易得分的问题 2000 的密码问题 哪个有用鼠标拖动图片的示范代码? 有关DBGrid的问题。 怎么判断ClitDataSet.Delta为空 小问题,关于dll 如何动态打开一个窗体 dbgrid
application.createform(Tform1,form1);
from1.showmodal;//
..........
form1.free;
怎么就出错啊,怎么定义TForm2呢?
怎么就出错啊,怎么定义TForm2呢?描述清楚哪里出错
出什么错什么怎么定义TForm2??
procedure TForm1.Button1Click(Sender: TObject);
begin //方法1
application.createform(Tform2,form2);
form2.Show;
//方法2
form2 := TForm2.Create(self);
try
form2.ShowModal;
finally
form2.Free;
end;end;方法2比较常用,因为系统运行期间,内存消耗相对较小,并且创建对象和释放对象匹配出现,不容易造成内存泄漏。
这个问题未免太简单,不过有那么多勋章的,应该可以猜测问题所在。
begin
ShowModal;
Free;
end;以上这种创建方式创建的窗体在显示时,只能操作 Form2 窗体中的内容(即创建的是模式窗口)。with TForm2.Create(Application) do
begin
Show;
end;以上这种创建方式创建的窗体则可以操作其它窗体中的内容(即非模式窗口)。此时,为避免重复创建窗体,则需要在创建前先判断本类型的窗体是否已经被创建了。
try
form2.ShowModal;
finally
form2.Free;
end;
怎么就出错啊,怎么定义TForm2呢?不用定义