楼主:
sam319 (Sam)
2018-09-27 15:02:49我有个按钮点下后会去呼叫COM元件初始,
按钮事件写法如下:
async void btn_Clicked(object sender, EventArgs e)
{
// do something...
await Task.Run(() => comObject.Init());
// do something...
}
已经用多绪打包COM元件的初始,
但仍会把整个UI卡死好几秒后,
才恢复反应
请问这要怎么解决?
谢谢
作者:
testPtt (测试)
2018-09-27 16:19:00COM有去读写到UI
楼主:
sam319 (Sam)
2018-09-27 18:42:00COM是第三方元件,跟我的UI没有关系
作者:
testPtt (测试)
2018-09-27 19:32:00await似乎会影响到你的btn
楼主:
sam319 (Sam)
2018-09-28 02:09:00await Task.Delay(5000)这样等5秒UI都还是能响应的状态说
作者: firose (guest也是也是也是也是也) 2018-09-28 03:55:00
它是一个STA COM 最后还是要由建立它的人来执行函数
楼主:
sam319 (Sam)
2018-09-28 11:51:00STAThread吗?请问有强制他跑在其他Thread的方式吗?
作者: lightyen (lightyen) 2018-09-30 02:44:00
时代的眼屎
作者:
Litfal (Litfal)
2018-10-02 19:47:00另外开个sub.exe专门控制COM,主程式跟sub.exe做沟通
作者:
Timba (踢音霸)
2018-10-09 13:23:00写个 Timer RS232 还是COM 啥的动作都丢进去没动作时 Timer.Start() 然后移动视窗 还是跑按钮先Stop释放案牛或执行 完成了再开始