急!!!求救!!!(100分)

  • 主题发起人 主题发起人 leoxi82
  • 开始时间 开始时间
L

leoxi82

Unregistered / Unconfirmed
GUEST, unregistred user!
请问,动态创建frame后该如何释放!
我在其中一个frame上的按扭动态创建另外一个frame,多次调用后就会报错,
我释放用的是freeandnil(),请高手快来帮忙哦!
LockWindowUpdate(Handle);
Perform(wm_free,0,0);
try
case ftype of
0:begin
ToolBar:=TfamReserveToolBar.Create(self);
Panel:=TFamReserve.Create(self);
end;
1:begin
ToolBar:=TfamEnterToolBar.Create(self);
Panel:=TfamEnter.Create(self);
end;
2:begin
ToolBar:=TFamOrderToolBar.Create(self);
Panel:=TfamOrder.Create(SELF);
end;
3:begin
ToolBar:=TfamPayToolBar.Create(self);
Panel:=TfamPay.Create(SELF);
end;
4:begin
ToolBar:=TFamPostToolBar.Create(self);
Panel:=TfamPost.Create(SELF);
end;
5:begin
ToolBar:=TFamMemberToolBar.Create(self);
Panel:=TFamAddMember.Create(self);
end;
6:begin
ToolBar:=TfamPeopleToolBar.Create(self);
Panel:=TfamPeople.Create(self);
end;
7:begin
ToolBar:=TfamRightToolBar.Create(self);
Panel:=TfamRight.Create(self);
end;
8:begin
ToolBar:=TfamNextToolBar.Create(self);
Panel:=TfamHandToNext.Create(self);
end;
9:begin
ToolBar:=TfamOverToolBar.Create(self);
Panel:=TfamOver.Create(self);
end;
end;
w:=w+1;
g:=g+1;
ToolBar.Parent:=Panel1;
Panel.Parent:=Panel2;
ToolBar.Name:='Tool'+IntToStr(w);
Panel.Name:='Pan'+IntToStr(g);
except
Perform(wm_free,0,0)
end;
LockWindowUpdate(0)
 
没高手帮下忙吗?!
 
自己顶下,请高手来帮忙下啊!!!
 
[:(!]我再顶,富翁们,帮帮忙,解决下啊。。。
 
创建后的Free代码在哪里?没见到。
同样需要判断来进行Free。
 
--free代码:
procedure free(a:tframe);
begin
if a<>nil then
freeandnil(a);
{
if assigned(a) then
freeandnil(a)
两个都不行!!!
}
end;
 
组件最好放入一个容易管理的列表中, 这样管理方便。 或者。释放一个frame之前, 先遍历该frame上的组件, 如果是容器的,再遍历该容器组件是否有组件, 如果有则释放,如果还有容器,则继续递归。。。 这样应嘎没有问题。
 
能举个例子吗?最好有代码
 
TO:duhai_lee
静态建立的组件好象不可以释放吧?
 
ToolBar
Panel
两个应该是全局变量吧,创建新的前,应该把它以前引用的对象释放掉
 
我已经释放了, 不过有的时候会出错,好象释放不掉啊,哪两个就是用来当frame的容器的,会报错,哎,救命啊,帮忙解决下吧
 
VCLSKIN在Frame里好象不行,怎么才能使Frame的皮肤改变,有没有高手帮忙下,或提供个好的控件啊,在线等。。。
 
VCLSKIN放在主窗体上肯定行,我一直这么用。
 
[8D]不行啊,行的话就不要提问题了,Frame上的控件都没变啊,只有Frame什么控件都没有的时候才行,可是总不能做一个什么都没有的frame吧
 
我用vclskin 4.04是可以的以前的3.02也可以。动态创建的frame不知行不行。
 
我的就是动态创建的,怎么解决啊。。。
 
自己顶上去,求高手帮忙!
 
[:(]没高手肯帮下小弟吗?
 
高手了?高手快来啊!顶,高手看见!
 

Similar threads

后退
顶部