在 android embarcadero c++builder 中更新视觉组件
Updating visual components in android embarcadero c++builder
我需要在一个耗时的函数中更新我的应用程序中的几个可视组件,而我的应用程序似乎在此函数调用期间挂起,而不是更新屏幕上的可视组件。当函数退出时,我只能看到组件的最后更改。
是否有一种简单的方法来进行更新,或者我是否需要创建一个并行进程并有一个 'timer' 来同时读取数据(使用信号量)并将它们显示在计时器调用中?
有什么建议吗?
我昨天问了同样的问题。就像 mh taqia 说的那样,您可以使用 Application->ProcessMessages() 但您必须小心使用它。对于我的应用程序,它可以工作,但请先查看一些有关该功能的帖子。
我试过以下方法:
MainForm->Invalidate();
MyControlRoot->Repaint();
MyControlRoot 是一个包含大约 50-60 个不同的其他控件的控件
但是 MyControlRoot 不会用这种方法重绘。 ..
尽管 Remy 提出了警告,我还是尝试了 Application->ProcessMessages();
...目前有效...
顺便说一下...我在 Docwiki 中看不到任何关于使用 ProcessMessages 的警告...我能期待什么?
RG
我需要在一个耗时的函数中更新我的应用程序中的几个可视组件,而我的应用程序似乎在此函数调用期间挂起,而不是更新屏幕上的可视组件。当函数退出时,我只能看到组件的最后更改。
是否有一种简单的方法来进行更新,或者我是否需要创建一个并行进程并有一个 'timer' 来同时读取数据(使用信号量)并将它们显示在计时器调用中?
有什么建议吗?
我昨天问了同样的问题
我试过以下方法:
MainForm->Invalidate();
MyControlRoot->Repaint();
MyControlRoot 是一个包含大约 50-60 个不同的其他控件的控件
但是 MyControlRoot 不会用这种方法重绘。 ..
尽管 Remy 提出了警告,我还是尝试了 Application->ProcessMessages();
...目前有效...
顺便说一下...我在 Docwiki 中看不到任何关于使用 ProcessMessages 的警告...我能期待什么?
RG