动态创建窗口的问题,无法访问父窗口的指针,请指教!谢谢!

L·D·N 2005-09-18 11:31:14
请教一个问题:
在BCB的主窗口内使用
Txxlog *tmp=new Txxlog(this);
tmp->ShowModal();
delete tmp;
创建了一个窗口0
在动态创建的窗口内又使用
Txx *tmp1=new Txx(this);
tmp1->ShowModal();
delete tmp1;
创建了窗口1
现在我要在窗口1里面调用窗口0里面的控件的方法或公有函数,我该怎么做啊?
我试了,如果窗口是自动创建的,那么直接使用窗口的指针就可以,现在是动态创建的,我一使用那个指针就抱错,我该怎么解决啊?
...全文
163 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
rainfall19831109 2005-09-18
  • 打赏
  • 举报
回复
你使用Txxlog *tmp=new Txxlog(this);显示窗口一
tmp指针仅仅在你的该语句所在函数有效,你调用的话一定会出错的...因为指针的作用仅仅在那函数范围内有效

你可以为每个窗口建立了一个全局的窗口变量,你只要在你需要显示窗口的函数处为其分配内存...
接着...怎么处理就看自己了...:)
L·D·N 2005-09-18
  • 打赏
  • 举报
回复
方法我已经想到了。我是这样解决的:
现在主窗口的.h文件内包含Txx的头文件
然后在主窗口的头文件内声明Txx *TxxTmp;为公有变量;
然后:
Txx *tmp1=new Txx(this);
Form1->TxxTmp=tmp1;
tmp1->ShowModal();
Form1->TxxTmp=NULL;
delete tmp1;
这样就解决了。哈哈!
谢谢你的回复咯!

13,873

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧