线程通讯问题 PostThreadMessage

432423423423 2011-03-09 01:49:30
c++ builder 线程怎么通讯? PostThreadMessage ,PostMessage可以用吗? 摆脱大侠给个相应的例子,学习下好不好?
千恩万谢!!!!!!!!
我用的是最基本的aplication模式,ui线程怎么设置啊?
...全文
270 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Bosman 2011-03-19
  • 打赏
  • 举报
回复


PostThreadMessage(pThreadMsg->ThreadID,WM_OpenBet,0,0);

void __fastcall ThreadMsg::Execute()
{
MSG msg;
while(!Terminated&&GetMessage(&msg,NULL,0,0))
{
switch(msg.message)
{
case WM_Refresh:
;
break;
case WM_OpenBet:
;
break;
case WM_SubmitBet:
;
break;
}
}
}
铖邑 2011-03-18
  • 打赏
  • 举报
回复
UI线程实际上就是主线程,处理消息循环的。这个你可以看看MFC的一些资料,就会了解比较清楚了。
432423423423 2011-03-11
  • 打赏
  • 举报
回复
楼上的说的很好,给了我一种思路,谢谢。另外一个问题,c++ builder,ui线程是个什么东西?可能具体的说一说,形象化点。比如一个按钮事件里显示文字,这叫做ui线程吗?
上次问这个,给人bs了一顿。好丢人。。
土著巫师 2011-03-10
  • 打赏
  • 举报
回复
直接上两段代码给楼主,其实就是自建一个消息处理函数,在线程执行循环里检查消息做相应处理,因为是项目里的代码直接拿出来的,所以有些函数就没有代码给出了,重点是消息队列处理和线程执行主循环。
土著巫师 2011-03-10
  • 打赏
  • 举报
回复
void __fastcall TThreadManager::Execute(void)
{
try
{
while ( !Terminated )
{
if ( ProcessMessages() == false )
{
SleepEx(1, true);
}
}
}
catch(Exception &E)
{
NotifyScriptResult ( -3, E.Message );
}
catch(...)
{
NotifyScriptResult ( -4, "未知错误!" );
}
}
土著巫师 2011-03-10
  • 打赏
  • 举报
回复
bool __fastcall TThreadManager::ProcessMessages(void)
{
MSG Msg;

memset ( &Msg, 0x00, sizeof(MSG) );
if ( PeekMessage ( &Msg, 0, 0, 0, PM_REMOVE ) )
{
if ( Msg.message == WM_QUIT )
{
Terminate();
FTimer->Enabled = false;
}
else if ( Msg.message == WM_ProcessScript )
{
if ( FileExists ( FWinScpExeName ) )
{
if ( FileExists ( FScriptFileName ) )
{
ProcessScript();
}
else
{
NotifyScriptResult ( -2, L"没有发现FTP脚本文件:" + FScriptFileName );
}
}
else
{
NotifyScriptResult ( -1, L"没有发现FTP客户端程序:" + FWinScpExeName );
}
}
else
{
TranslateMessage ( &Msg );
DispatchMessage ( &Msg );
}

return true;
}

return false;
}
__lhy 2011-03-09
  • 打赏
  • 举报
回复
PosThreadMessage

thread PeekMessage
ccrun.com 2011-03-09
  • 打赏
  • 举报
回复
线程内部开辟一个消息池, 就可以响应PostThreadMessage发来的消息了.
内容概要:本文围绕“单相逆变器闭环逆变电路PWM模型仿真研究”展开,基于Simulink平台构建单相逆变器的闭环控制系统仿真模型,重点研究PWM调制技术在逆变电路中的应用与实现。文中详细阐述了系统架构设计、电压电流双闭环控制策略的实现原理、控制器参数设计及仿真建模全过程,并通过仿真结果验证了控制方案在动态响应、稳态精度与系统稳定性方面的有效性。同时,文档还涵盖多种电力电子系统典型应用场景,如多类型短路故障仿真(中性点不接地、经小电阻接地、经消弧线圈接地等)、软开关技术、微电网能量管理、MPPT控制等,体现出较强的技术综合性和工程实践价值。; 适合人群:电气工程、自动化、电力电子与新能源等相关专业的高校本科生、研究生、科研人员,以及从事电力系统仿真、逆变器设计与新能源并网技术研发的工程技术人员。; 使用场景及目标:①掌握基于Simulink的单相逆变器闭环控制系统建模与PWM仿真方法;②深入理解双闭环控制、SPWM/SVPWM调制、系统稳定性分析等核心技术原理;③为课程设计、毕业设计、科研项目或实际工程开发提供可复用的仿真模型与技术支持; 阅读建议:建议结合文中仿真模型动手实践,重点掌握PI控制器参数整定、PWM信号生成机制与仿真结果分析方法,同时可延伸学习文档中涉及的软开关、故障仿真、微电网控制等关联技术,以拓展系统级设计能力。

1,317

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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