我这样创建了两种控件:procedure BtnAddNewPageClick(Sender:TObject);//增加页,同时增加数据栏
begin
with TTabSheet.Create(self) do
begin
PageControl:=PageControl1;
Caption := 'TabSheet' + IntToStr(PageControl1.PageCount);
end;
PageIndex := PageControl1.PageCount - 1;
with TDBGrid.Create(self) do
begin
Parent:=PageControl1.ActivePage;
Align:=alClient;
//....数据赋值省略
end;
end;//释放
procedure BtnDestroyClick(Sender:TObject);
var
i:integer;
begin
for i:=0 to PageControl1.PageCount-1 do
begin
PageControl1.ActivePage.Free;
//...在这里如何释放该页的TDBGrid???
end;
end;
begin
with TTabSheet.Create(self) do
begin
PageControl:=PageControl1;
Caption := 'TabSheet' + IntToStr(PageControl1.PageCount);
end;
PageIndex := PageControl1.PageCount - 1;
with TDBGrid.Create(self) do
begin
Parent:=PageControl1.ActivePage;
Align:=alClient;
//....数据赋值省略
end;
end;//释放
procedure BtnDestroyClick(Sender:TObject);
var
i:integer;
begin
for i:=0 to PageControl1.PageCount-1 do
begin
PageControl1.ActivePage.Free;
//...在这里如何释放该页的TDBGrid???
end;
end;
解决方案 »
- 求助post怎么设置,保存对数据库的修改
- cxgrid设置明细关系
- 图片问题
- 关于ORACLE导出/导入DBF文件询问大家,情况紧急
- 用OLE操作PDF打印时总会弹出一个讨厌的对话框,如何把它去掉
- Show Form();
- 请问在XP中怎么样才能用delphi查找内存数据
- 难题中的极品:Excel文件损坏,用Excel打开会有文件是只读或服务器没有响应的提示.谁有办法修复就给高分.2002年12月19日结帖.
- WIN2K下怎样实现自动关机??
- 急!!!在WIN2000 专业版里不小心删除一批文件,并清空回收站,现在想恢复该批文件,请问用什么方法可以恢复该批文件??必谢.
- 图片如何插入到WORD中
- 哪里有install shell的中文包下载???
procedure BtnAddNewPageClick(Sender:TObject);//增加页,同时增加数据栏
var sheet: TTabSheet;
begin
sheet := TTabSheet.Create(self);
with sheet do
begin
PageControl:=PageControl1;
Caption := 'TabSheet' + IntToStr(PageControl1.PageCount);
end;
PageIndex := PageControl1.PageCount - 1;
with TDBGrid.Create(sheet) do // Owner为sheet
begin
Parent:=PageControl1.ActivePage;
Align:=alClient;
//....数据赋值省略
end;
end;//释放
procedure BtnDestroyClick(Sender:TObject);
var
i:integer;
begin
for i:=0 to PageControl1.PageCount-1 do
begin
PageControl1.ActivePage.Free; // 同时释放DBGrid
end;
end;
我想应该不会造成内存泄漏,我的理解是Form关闭时会检查是否已经释放。