关于Frame中启动线程的问题

wg961423 2009-07-02 10:16:57
在一个Frame窗体的某个按钮上,点击就会启动一个线程,该线程会读取该Frame中的Edit等内容进行处理,但问题在于该Frame被加载在多个TabSheet上了,这个时候应该怎么处理?即在线程中取得父Frame的数据的问题!
...全文
105 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
wg961423 2009-07-03
  • 打赏
  • 举报
回复
我现在是把Frame传给线程了,就可以了。
wg961423 2009-07-02
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 songhtao 的回复:]
AnsiString str = Form1->Edit1->Text;
[/Quote]



不是这个意思,是要取Frame里的数据,不是Form1里的。

不过,我已经自己解决了。
我不懂电脑 2009-07-02
  • 打赏
  • 举报
回复
要注意同步问题。
我不懂电脑 2009-07-02
  • 打赏
  • 举报
回复
AnsiString str = Form1->Edit1->Text;
wg961423 2009-07-02
  • 打赏
  • 举报
回复
唉,又是自己解决了!
xabcxyz 2009-07-02
  • 打赏
  • 举报
回复
Frame中创建一个静态成员函数作为线程函数
winapi ThreadFun(void*frame)
{
TYourFrameType* fm = (TYourFrameType*)frame;
fm->.....
}

然后点击按钮时,创建函数把 button->Parent作为参数传递进去

如果还想使用原来的类似校验的参数,可以使用 button->Parent->Tag

我常常这样做
wg961423 2009-07-02
  • 打赏
  • 举报
回复
今天大老们都不在吗?
ccrun.com 2009-07-02
  • 打赏
  • 举报
回复
将Frame的实例指针传入线程中,在线程中直接以类似“Frame2->ComponentCount, Frame2->Components”这样的方式访问上面的组件即可。
yangangs 2009-07-02
  • 打赏
  • 举报
回复
解决了就好

13,825

社区成员

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

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