【发布时间】:2020-09-29 07:49:36
【问题描述】:
我正在尝试实现从另一个线程更新文本框的调用方法。
为此,我按照互联网上的一些说明/教程进行操作,但没有成功:
这是我的主窗体初始化的地方,称为 MyForm.cpp:
Calc::MyForm::MyForm(){
InitializeComponent();
System::Threading::Thread ^plsInvoke = gcnew Thread(this, &Calc::initatePls);
//Thread = thread
plsInvoke->Start();
}
我要线程化的函数位于 pls.cpp 中,名为 initatePls。
void Calc::initatePls()
{
hCommPLS = connectCom(6, 115200);
sendPls();
}
我收到的错误:
严重性代码描述项目文件行抑制状态 错误 C2664 'System::Threading::Thread::Thread(const System::Threading::Thread %)':无法将参数 1 从 'void (__cdecl )(void)' 转换为 'System::Threading: :ThreadStart ^' Calc C:\Users\david\OneDrive******\Calc\MyForm.cpp 111
正如我所说,目标是使用位于 pls.cpp 中的全局变量更新文本框。
谢谢。
【问题讨论】:
标签: c++ winforms visual-studio-2019 invoke