我有一个执行大量工作的功能,我希望能够在MFC中提供状态对话框(虽然我认为这个问题与任何GUI相关)。
通常我会创建一个线程,然后将消息发布到主窗口以进行更新。但是,在这种情况下,该函数还需要在非MFC应用程序中工作,例如MATLAB和Python。因此,我似乎有两个选择,我都不喜欢。
第一个选项是将MFC代码包含在#ifdefs包围的线程中。如果我需要其中的大约五个,尽管我可能会将它们中的一些结合起来。
第二个选项是在主窗口中定义线程更新的变量。主窗口必须创建一个计时器来检查该变量并更新GUI。这将完全从线程中删除MFC代码,但仍然是一个kludge。
我的问题是,您认为哪些是两个邪恶中较小的一个,围绕#ifdefs的线程代码,或实现一个计时器?更好的是,还有第三种选择我还没有想到吗?
谢谢。