ActiveX到了线程里就不能用,达人请进,详细见内容

baiyunfei 2008-09-12 10:51:35
我的程序用了Activex控件,然后开了一个线程来设置该控件的属性。在我自己的机器上一切正常,但到了其它机器就报错:对象与目标类型不匹配 。
两台机器安装的控件是一样的。经过调试,发现同样的赋值操作,只要不是开线程来执行,就没问题。

大家救救我吧!

可以执行的代码:


private void DoWork()
{
AxImage.Image=@"d:\1.tif";
}

private void button3_Click(object sender, EventArgs e)
{
DoWork();
}


不可以执行的代码

private void DoWork2()
{
AxImage.Image=@"d:\1.tif";
}

private void button3_Click(object sender, EventArgs e)
{
Thread t = new Thread(new ThreadStart(DoWork2));
t.Start();
}
...全文
128 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
baiyunfei 2008-09-12
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 gtiroy 的回复:]
权限问题。
[/Quote]

这位朋友,能说详细点吗?
baiyunfei 2008-09-12
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 hanjun1024 的回复:]
估计需要切换到UI线程上进行操作,你试试看用Form的Invoke调用你的方法。
[/Quote]

但为什么有的机器可以,有的机器不行呢?
gtiroy 2008-09-12
  • 打赏
  • 举报
回复
权限问题。
hanjun1024 2008-09-12
  • 打赏
  • 举报
回复
估计需要切换到UI线程上进行操作,你试试看用Form的Invoke调用你的方法。
baiyunfei 2008-09-12
  • 打赏
  • 举报
回复
多谢ls,期待达人~
LovingAlison 2008-09-12
  • 打赏
  • 举报
回复
不懂Activex 帮楼主顶起来

111,098

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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