如果外部程序有多线程调用ocx的同一个类的可能,那么我用这个ocx的这个类调用invoke,是什么意思?是不管有多少线程,一个一个依次执行?

解决方案 »

  1.   

    是这样的。
    我有一个ocx,这个ocx不支持多线程调用。
    假如外部有多线程调用,要改成一个一个的单进程的那样的去调用。
    所以我想在这个ocx上一层做一个dll
    外部程序不再调用那个ocx,而是调用我的dll
    我在我的dll里面调用ocx里面的方法
    这样的话
    假如外部有多线程调用我的dll
    我希望我可以让他们一个一个去执行
    我现在的做法是:
    dll里面添加窗体,窗体上面添加了那个ocx的类
    然后在方法里面写:ocx类.invoke(delegate)
    我想问的事,这样能实现我的想法?
      

  2.   

    简单点, 就是把主动权交回给mainThreadhttp://blog.csdn.net/LeoMaya/archive/2006/12/26/1463695.aspx
      

  3.   

    Invoke 应该是一个一个同步执行.BeginInvoke是异步执行.我不太懂,可能是这样子的
      

  4.   

    LeoMaya(我是L.W, 这是我的故事) 你的blog我刚才看了
    因为非常着急,所以为了确保期间,我跟你确认一下
    按照你的blog的内容
    我上面所写的就是可以了,是不是?
      

  5.   

    我只能说, 你的所有外部线程的调用动作都会通过Invoke来变成当前主线程调用