var
Form1: TForm1;
TabOne : TRzTabSheet;
PanelOne: TRzPanel;
WebOne : TEmbeddedWB;implementation{$R *.dfm}procedure TForm1.CreatePage(var Panel: TRzPanel; TbsName:string;PanelName:string);
var
NewPage : TRzTabSheet;begin
NewPage := TRZTabSheet.Create(RzPageControl1);
NewPage.PageControl := RzPageControl1;
NewPage.Align := alClient;
NewPage.Name := TbsName;
RzPageControl1.ActivePage := Newpage;
NewPage.PageIndex := RzPageControl1.PageCount - 1;
Panel := TRzPanel.Create(Self);
Panel.Parent := RzPageControl1.ActivePage;
Panel.Visible := True;
Panel.Caption := 'test';
Panel.Name := PanelName;
Panel.Color := clLime;
Panel.Align := alClient;
end;procedure TForm1.CreateWeb(var Web : TEmbeddedWB);
begin
if Assigned(Web) then
begin
FreeAndNil(Web);
end;
Web := TEmbeddedWB.Create(Self);
TWinControl(Web).Parent := PanelOne;
Web.Visible := True;
Web.Align := alClient;
Web.Silent := True;
Web.Name := 'WebOne';
end;procedure TForm1.DestroyWEB(var Web : TEmbeddedWB);
begin
while Assigned(Web) do
begin
Application.ProcessMessages;
FreeAndNil(Web);
end;
end;procedure TForm1.Button1Click(Sender: TObject);
begin
CreatePage(PanelOne,'TabOn','PanelOne');
end;procedure TForm1.Button2Click(Sender: TObject);
begin
CreateWeb(WebOne);
end;procedure TForm1.RzPageControl1Close(Sender: TObject;
var AllowClose: Boolean);
begin
AllowClose := True;
end;procedure TForm1.Button3Click(Sender: TObject);
begin
WebOne.Navigate('http://www.baidu.com');
end;procedure TForm1.Button4Click(Sender: TObject);
begin
DestroyWEB(WebOne);
PanelOne.Free;
RzPageControl1.ActivePage.Free;
end;
依次创建newpage,panel,web,开始浏览没有问题,但是使用RzPageControl1Close关闭页后,再次创建newpage,panel也没有问题,到第二次创建web时报内存错误,
如果屏蔽掉procedure TForm1.CreateWeb(var Web : TEmbeddedWB);中的
if Assigned(Web) then
begin
FreeAndNil(Web);
end; 程序就不会报错,但有的时候我在创建web前必须要判断web是否已经创建,如果创建了,就必须释放。如果使用自己写的释放procedure TForm1.Button4Click(Sender: TObject);再加上释放判断,程序也没有问题。请大家帮忙看看使用RzPageControl1Close时代码哪里有错误,帮忙修改修改
或者能否获得关闭按钮的事件,将Button4Click添加进去也行。另一贴地址:http://topic.csdn.net/u/20120918/21/39754f00-bf49-4b7e-813f-c73d1b1970ef.html
问题解决后两个帖子都结贴,共200分
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货