一个奇怪的问题,请高人进来看看

meapex 2003-01-03 06:47:16
程序是这样的:有窗体Form1,Form2。Form1是主窗体,Form2上有一个Panel控件,Panel控件上又有一个Frame控件,在Frame控件上又有一个button2;点击Form1上面的一个按钮button1,调出Form2,使用以下调出语句:
TForm2 *kkk=new TForm2(this);
kkk->ShowModal();
delete ScanModel;
然后在Form2中点击button2另创建了线程Thread1,此时,就有问题了,在Thread1中竟然无法使用Form2->Handle,也就是得不到Form2的句柄,但是使用this->Parent->Parent->Handle就可以。在Thread1中又创建了Thread2,在Thread2中也无法使用Form2->Handle,并且在Thread2中也不能使用在Form2.h中定义的成员变量long bbb,即无法使用Form2->bbb,后来我在Form2.h中将bbb定义成全局变量,在Thread2中也无法操作它(bbb++)。
但是,所有以上的问题在没有Form1的情况下,也就是如果单独将Form2作为主窗体,不用Form1来调用就不会出现。我考虑是不是上面列出的三句调出Form2的语句对程序有影响。
我不知道我的问题说清楚了没有,请高人仔细看看,帮我想想,如果感觉问题不清楚,可以跟帖问我,也可以QQ 15820970。
...全文
64 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
iec 2003-01-05
  • 打赏
  • 举报
回复

TForm2 *kkk=new TForm2(this);
kkk->ShowModal();
delete ScanModel;
换成静态生成如何。

meapex 2003-01-04
  • 打赏
  • 举报
回复
kkk->Handle在Form2中编译都通不过
lianghe 2003-01-03
  • 打赏
  • 举报
回复
你新建的TForm2在 kkk中,也就是应该是用 kkk->Handle;
lingbin 2003-01-03
  • 打赏
  • 举报
回复
调出什么,没有了。

1,317

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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