在线程中调用Excel的COM对象方法,提示“应用程序调用一个已为另一线程整理的界面。”

亮剑_ 2005-05-31 12:11:53
开了一个线程,在线程中创建了“Excel.Application”COM对象
FExcelApp := CreateOleObject('Excel.Application');
FBook := FExcelApp.Workbooks[1];
FSheet := FBook.Worksheets[1];
然后访问Excel的一个单元格
Result := FSheet.Cells[1, 1].Value;
此时提示:应用程序调用一个已为另一线程整理的界面。

而如果不在线程中调用就没有问题。

大侠指定。
...全文
313 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
亮剑_ 2005-06-02
  • 打赏
  • 举报
回复
再顶一下
亮剑_ 2005-06-01
  • 打赏
  • 举报
回复
有人讲是在不同的线程中使用同一个接口,违反了COM接口调用规则,需要做interface marshalling

interface marshalling 是什么?
我就开了一个线程,我这个线程和什么线程同时使用了接口呢?
亮剑_ 2005-06-01
  • 打赏
  • 举报
回复
我搜过以前的帖子,还是没有搞定。
码农天天向上 2005-05-31
  • 打赏
  • 举报
回复
Good luck!
fengqing7 2005-05-31
  • 打赏
  • 举报
回复
没办法了,祝你好运了
亮剑_ 2005-05-31
  • 打赏
  • 举报
回复
自已顶一下

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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