C++ 构建器中的线程[关闭]

2024-03-16

我是 C++ 构建器的新手,不熟悉线程,我希望有人可以发布一个示例或为我指出正确的方向。

我有一个加载的表单formShow()C++ 构建器中的函数。它做了我希望我的程序执行的操作,但只有在那之后它才会显示实际的表单。

为此,我需要线程化表单和程序的后台运行。有人能帮我吗?


将你的逻辑延迟到之后可能会更简单OnShow事件已退出,根本不使用线程。例如:

const UINT WM_DO_WORK = WM_USER + 1;

void __fastcall TForm1::FormShow(TObject *Sender)
{
    PostMessage(Handle, WM_DO_WORK, 0, 0);
}

void __fastcall TForm1::WndProc(TMessage &Message)
{
    if (Message.Msg == WM_DO_WORK)
    {
        // do work here ...
    }
    else
        TForm::WndProc(Message);
}

如果你真的想线程化代码,你可以这样做:

class TMyThread : public TThread
{
protected:
    virtual void __fastcall Execute();
public:
    __fastcall TMyThread();
};

__fastcall TMyThread::TMyThread()
    : TThread(true)
{
    FreeOnTerminate = true;
    // setup other thread parameters as needed...
}

void __fastcall TMyThread::Execute()
{
    // do work here ...
    // if you need to access the UI controls,
    // use the TThread::Synchornize() method for that
}

void __fastcall TForm1::FormShow(TObject *Sender)
{
    TMyThread *thrd = new TMyThread();
    thrd->OnTerminate = &ThreadTerminated;
    thrd->Resume();
}

void __fastcall TForm1::ThreadTerminated(TObject *Sender)
{
    // thread is finished with its work ...
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++ 构建器中的线程[关闭] 的相关文章

随机推荐

  • Git http.proxy 设置

    我试图弄清楚这个 git 问题 有一次我搞乱了 http proxy 变量 现在这只是废话 asdf 所以推动不起作用 我不知道之前的代理设置是什么 我什至不知道代理服务器是什么 有什么方法可以将 http proxy 设置为正确的值吗 现
  • 将 Zookeeper 从 3.3.X 升级到 3.4.X 时,我需要了解哪些信息?

    我有一个 Zookeeper 整体 我想从 3 3 X 分支升级到 3 4 X 分支 这可以在实时集群上完成吗 需要停机吗 有什么说明可以在某处找到吗 据我检查 升级 ZooKeeper 有哪些选项 流程 有两种主要方法可以做到这一点 1
  • 数据报总是被完整接收吗?

    大多数数据报接收函数 例如c的recv或read java的DatagramPacket类或python的SocketServer 都包含找出接收数据量的可能性 c int amount recv sock buf n MSG WAITAL
  • ASP.NET Web API - OWIN - TokenEndPointPath 在 IIS 中不起作用

    我的startup cs 中有以下代码 当 Web API 项目部署到 IIS 中网站的根目录时 在 IIS Express 中设置 TokenEndpointPath 效果非常好 但是 如果我托管在 IIS 中的嵌套应用程序 即网站内的应
  • 使用php从linux访问windows共享文件夹

    我需要能够使用在 Linux 服务器上运行的 php 脚本访问多个 Windows 服务器上的一些共享文件夹 我只需要获取文件夹中包含的文件的名称以及创建它们的时间戳 到目前为止 我想到的唯一解决方案是在 Linux 中安装共享并从那里访问
  • C# 在锯齿状数组中快速查找值的方法

    我有一个锯齿状数组String 现在我需要找到具有特定值的数组String n 0 我现在所拥有的只是一个简单的 foreach foo in bar if foo 0 needle return foo 正如您所看到的 由于显而易见的原因
  • 在 setup.py 中安装 numpy + pandas 作为依赖项

    安装中numpy pandas通过 setuptools 作为 setup py 中的依赖项对我不起作用 这与缺少依赖项无关 如果我通过安装 numpypip install numpy然后python setup py develop一切
  • 将两种不同的字体样式应用于 TextView

    我想将两种不同的字体样式应用于单个 TextView 中的文本 我的情况与Android 两句话 两种样式 一个TextView https stackoverflow com questions 8999781 android two s
  • 检测客户端中止请求 Jersey

    我有 Jersey 提供轻松的网络服务 客户端经常会中止通过 ajax 完成的请求 使用 ajax 中止方法 如下所述中止 ajax 请求 https stackoverflow com questions 4551175 how to c
  • 构造函数中引发的异常的处理程序是什么? [复制]

    这个问题在这里已经有答案了 我是 C 异常处理的新手 我心中的规则是 如果没有找到异常处理程序调用链 函数调用的堆栈 然后终止函数被调用 处理程序是一个catch block 但是 我无法理解以下行为 include
  • Java重复模式匹配

    我正在尝试获取 Java 中简单正则表达式的每个重复匹配项 它匹配 中包含的任何字符串 只要它不包含 字符 例如 它会匹配 a nice repetitive pattern 事先不知道存在多少个这样的组 并且我无法找到通过模式匹配器访问各
  • 当从 dom-repeat 函数设置时,属性更改未反映在 UI 中 - Polymer

    我有对象数组和属性 我的 dom repeat 结构如下所示
  • 您正在使用 Microsoft 企业库吗? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 在android中添加徽章到选项卡

    我想像在 iPhone 中一样在我的应用程序中添加徽章到选项卡 iPhone 中使用的徽章屏幕截图位于以下链接 i have done some image like badge in android app its screen shot
  • R:删除数值向量中的 NA

    我是一名 R 新手 面临一些挑战 我正在处理一个从 csv 文件中读取的大型数据框 我的数值向量包含 NA 这阻止我进行分析 如何摆脱这些 NA 以便我可以真正利用我的数据做一些事情 对于特定变量 x is na x or na omit
  • Stripe 结账不接受元数据

    我已经集成了 Stripe checkout 最新版本 并且需要发送额外的数据 以便我可以协调以后的 webhook Stripe 拒绝元数据并出现以下错误 Fatal error Uncaught exception Stripe Err
  • 我是否需要付费 Apple 开发者帐户才能获得 .p12 认证来推送通知?

    我正在使用 iOS 测试 AWS Mobile Hub 以实现推送通知功能 AWS 要求上传 p12 证书 该证书可以通过 Apple Developer 网站获取 但根据教程 维护标识符 设备和配置文件 没有出现在我的 Apple 开发者
  • 如何使用 JavaScript 循环长字符串以在每次匹配后插入新字符串

    我有一个变量 其中包含表示 XML 文档的长字符串 在该字符串中 我需要搜索每个自关闭标签并扩展到两个匹配的开始 结束标签 我真的不知道如何解决这个问题 非常感谢您的建议 此时 我所知道的是如何通过正则表达式匹配自关闭标签 lt gt 这是
  • 使用 groupby 后在 Pandas 中计算 np.diff 会导致意外结果

    我有一个数据框 我正在尝试向其附加一列连续差异 我找到了一种我非常喜欢的方法 并且很好地概括了我的用例 但一路上我注意到一件奇怪的事情 你能帮我理解一下吗 这是一些具有正确结构的数据 根据答案建模的代码here https stackove
  • C++ 构建器中的线程[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我是 C 构建器的新手 不熟悉线程