代码如下:
procedure TfrmMain.aClosePageExecute(Sender: TObject);
begin
if pcPages.ActivePageIndex <> -1 then
begin
pcPages.ActivePage.Free;
//pcPages.ActivePage:=nil;
//pcPages.activepageindex:=pcPages.pagecount-1;
end;
end;pcPages.ActivePage.Free之后就报内存错误了。
procedure TfrmMain.aClosePageExecute(Sender: TObject);
begin
if pcPages.ActivePageIndex <> -1 then
begin
pcPages.ActivePage.Free;
//pcPages.ActivePage:=nil;
//pcPages.activepageindex:=pcPages.pagecount-1;
end;
end;pcPages.ActivePage.Free之后就报内存错误了。
解决方案 »
- 很有难度哦,怎么将数据表中列的值得归类,并将归类后的值得一一展现成列
- 在ActiveX DLL中如何实现访问数据库,并在网面中调用???
- 巨难问题,高手近来看看,谈谈高见吧,解决了得200分,不食言 200410
- 一个有关截取字符串的问题?
- Error creating cursor handle 是什么错误?
- 怎样给FORM改名?
- 请教ADO连接问题!
- 有delphi无线路由器组件吗?
- 解决这问题50元另外再加200分, 气晕了
- 为什么在写程序时就无法同时打开多个报表form???????????
- 紧急求救:ServerSocket/ClientSocket的问题
- delphi中pointer问题
这个ActivePage里都有什么,Free时发生了什么
跟一下
和普通数组一样,统一申请,统一释放,
你要把数组的某一个元素的内存地址释放掉,
当然不能了
不用free,直接pcPages.ActivePage.Free就可以了
procedure TfrmMain.aClosePageExecute(Sender: TObject);
begin
if pcPages.ActivePageIndex <> -1 then
begin
Timer1Timer(Timer1);
//pcPages.ActivePage.Free;
//pcPages.ActivePage:=nil;
//pcPages.activepageindex:=pcPages.pagecount-1;
end;
end;
procedure TMAINFORM.Timer1Timer(Sender: TObject);
begin
Timer1.Enable:= False;
pcPages.ActivePage.Free;
end;
procedure TfrmMain.aClosePageExecute(Sender: TObject);
begin
if pcPages.ActivePageIndex <> -1 then
begin
Timer1.enabled:= True;
//pcPages.ActivePage.Free;
//pcPages.ActivePage:=nil;
//pcPages.activepageindex:=pcPages.pagecount-1;
end;
end;