我有一个全局的FocusPanel和一个Panel数组Panel[i],都是动态创建,当有Panel数组中某个Panel被选中,就让FocusPanel:=Panel[i],然后在其他函数中操作FocusPanel,但是当Panel数组全部free后,FocusPanel的状态是什么样子?我跟踪了一下,FocusPanel不是空的,但是也不是一个TPanel,我的理解是FocusPanel的指针现在是指向空或是其它随便一个什么地方,因为原来的Panel[i]已经全部free掉了,有什么办法让FocusPanel重新指向刚创建的时候?还有FocusPanel:=Panel[i]这一句到底是不是只赋值了指针?还有没有其它的含义在里面?
解决方案 »
- delphi在多线程中关于全局变量在过程或函数的问题
- strtodate这也出错,太晕了:报这没有重载的版本
- 全局HOOK的问题(分以后一定补上)
- SetWindowsHookEx是不是不能用于进程内Hook?
- 水晶报表 crystal.reports.advanced.9.2 中文版 有人要吗?
- 如何实现在两个窗体间切换
- 如何用Delphi制作虚拟桌面
- 救命啊?oracle 8i与WIN2000高级服务器版与WINME不兼容如何解决?
- 如何在textfile类型文件的头部加入一个string?
- 关于List.Pack的问题
- (300分)embeddedWB,如何强制在同一窗口打开新页面
- 关于16进制与10进制之间的转换问题
可以用FreeAndNil(Panel[i]);
或者Panel[i].Free;
Panel[i]):=nil;
Panel[i]:=nil
FocusPanel.free
FocusPanel:=nil;用上面的即可。