sta

    2热度

    2回答

    嗨,我是COM的初学者。我想在STA和MTA模式下测试一个COM DLL。我的第一个问题是:是否有可能COM对象支持STA和MTA? 现在我想下面的STA代码片段: // this is the main thread m_IFoo; CoInitializeEx(STA); // initialize COM in main thread CreateInstance(m_IFoo);

    1热度

    1回答

    假设在STA线程上创建了一个COM对象。所以对这个对象的所有调用都在这个线程中被序列化。所以如果对象的方法被阻塞,所有使用这个对象的线程都被阻塞。 因此,在STA COM对象中使用阻塞方法是需要避免的设计缺陷? 如果COM对象是空闲线程,可以使用阻塞方法吗? 由于

    3热度

    1回答

    我想用NUnit测试中的文本填充Forms.Clipboard。 我遇到的第一个问题是剪贴板必须在STA模式下使用。我发现the solution(NUnit 2.5.x +)在该方法上设置RequiresSTA属性。 Next我在调用Clipboard.SetText()时得到一个ExternalException。我发现the solution使用Clipboard.SetDataObject

    1热度

    1回答

    我已经做了一个小测试程序,尝试使用制造商提供的ActiveX控件来读取USB读卡器。 只要不使用单独的线程,表单就可以正常工作。我创建了一个Reader的新实例,并收听Read事件,并且一切正常。我刷卡,事件触发,文本框更新。 private Reader _reader; public Form1() { InitializeComponent(); CreateSca

    6热度

    2回答

    我正在使用PowerShell的图形用户界面,当某些组合框被点击时,我正在抛出错误。 发生错误后,我可以放下组合框列表并查看它的内容,但是如果我在同一个datagridview上移动到另一个组合框,我会在看到下拉列表之前得到相同的初始错误。 我在TechNet PowerShell论坛上发布了这个内容,并得到了在单线程单元(STA)中运行我的GUI所需的答案。默认情况下,PowerShell运行在

    0热度

    2回答

    STA线程同步的最佳做法是什么? 我有一个基于对话框的MFC应用程序与两个STA线程:主要和第二个。我在主UI线程中创建了COM对象。 我从第二个线程调用COM接口。在主线程中,为了确保第二个线程在主线程继续之前完成,我使用一个循环来等待线程。此循环循环调用MsgWaitForMultipleObjectsEx(timout = 500)。 我立即陷入了等待的僵局。然后我意识到MFC消息泵AfxI

    2热度

    1回答

    我有创造10+螺纹,一个窗口服务: 做他们的工作,然后进入WaitForMultipleObjects的状态,直到它们再次恢复.. 每个线程在其应用服务器创建TDCOMConnection组件的调用方法,然后 关闭该服务工作正常,但是我已经看到了内存泄漏问题的连接 。 我只是好奇,如果这个问题可以与消息泵。 我一直认为当我使用COM编组(在局面,我有两个线程之间的代理) 该消息在STA线程泵应该只

    0热度

    1回答

    我在我的项目中有一些代码,如下所示,这里STA线程的用法是什么? 我对STA的了解是单线程公寓,它只在使用COM组件时才需要,它在应用程序的主要条目中使用。 /// <summary> /// The main entry point for the application. /// /// Command line: /// Leaf.exe /s

    0热度

    2回答

    我有一个控制台应用程序需要触发使用COM的方法。该程序以[STAThread]开头。该程序在不使用定时器进程时正确执行,但显然在使用定时器时会阻塞回控制台。 我已经使用System.Threading.Timer和System.Timers.Timer,都没有工作。目前我添加了一个调用使用COM的方法(Transmit())的Thread。如果我用Console.Readline清除主线程,则程序

    2热度

    2回答

    显示System.Windows.Forms.FolderBrowserDialog我试图表明在WPF folderbrowserdialog,但我得到这个例外 当前线程必须OLE之前被设置为单 线程单元(STA)模式可以拨打 。确保你的主函数有标记的STAThreadAttribute 。如果一个调试器附加到 过程 我尝试这个功能前添加[STAThread]该异常仅 提出,但没有改变我怎样才能解