我在一个线程中调用
    Excel := CreateOLEObject('Excel.Application'); 
其中Excel是一个外部变量
然后在主窗口中等待这个线程结束
然后调用
    Excel.WorkBooks.Add;
这时候出错:
    EOLESysError:应用程序调用一个已为另一线程整理的界面.谁可以告诉我现在我该怎么办?

解决方案 »

  1.   

    一定要 等待这个线程结束 了后,再调用,否则就OLEERROR
      

  2.   

    to zhksoft:
    我调用的时候线程已经结束了to hiflower(花) :
    在主线程中创建当然不会有问题
    但是在创建过程中程序在这段时间里不能响应窗口时间 ……我就是要避免这点,不知道还有没有其他方法?
      

  3.   

    这样就是在不同的线程中使用同一个接口,违反了COM接口调用规则。要在不同的线程中使用同一个接口,需要做interface marshalling