`
mathsfan
  • 浏览: 579052 次
  • 性别: Icon_minigender_1
  • 来自: 浙江省杭州市
社区版块
存档分类
最新评论

当前线程不在单线程单元中,因此无法实例化 ActiveX 控件

    博客分类:
  • .Net
阅读更多
解决方法:

   在主程序的入口处加上[STAThread],原来framework为运行com组件时,为提高性能默认使用多线程,但有的com组件不能使用多线程,否则就报错.

例:

    [STAThread]

    public static void Main()

{

      frmMain f = new frmMain();
     f.Show();
      Application.Run(f);

}
文章转自:http://hi.baidu.com/yanwei99521/blog/item/c5743f2e4e3608564fc226df.html
分享到:
评论

相关推荐

    c# activex 控件

    此外,现代浏览器如Chrome、Firefox默认不支持ActiveX,这可能导致在其他浏览器中无法正常使用C# Activex控件。开发者需要考虑跨浏览器的兼容性问题,或者寻找替代技术,如使用WebAssembly、JavaScript框架等。 6. ...

    通过 JACOB 实现 Java调用ocx控件

    在Java代码中,首先需要调用`ComThread.InitSTA()`来初始化单线程单元(Single Threaded Apartment,STA),这是因为COM组件通常需要在STA中运行。然后,通过`newActiveXComponent()`创建一个ActiveX组件实例,并...

    ASP.NET实现根据URL生成网页缩略图的方法

    在网上找了份源码,但是有错误:当前线程不在单线程单元中,因此无法实例化 ActiveX 控件“8856f961-340a-11d0-a9”,解决后运行良好,记录在此备用! 起始页:Default.aspx <%@ Page Language=C# ...

    Winsock控件连接示例

    在Visual Basic、Delphi或其它支持ActiveX控件的环境中,我们可以直接将Winsock控件拖放到界面上,然后编写相应的代码来实现网络通信功能。 单连接模式通常用于一对一的通信场景,如电子邮件发送、文件传输等。在单...

    qt导出、操作excel(多线程)

    2. **多线程**:在处理大型数据时,单线程操作可能导致UI卡顿,因此引入多线程是必要的。Qt提供QThread类来支持多线程编程。在这个项目中,我们可以创建一个新的QThread子类,将Excel操作的工作放入该线程中执行,以...

    VC++常用功能实例

    问:如何增加视图中ActiveX控件的事件处理函数? 75 问:如何创建一个动态的Tree控件? 75 问:SDI程序开始时不打开文档? 75 问:List控件中整栏选择? 75 问:如何重载MRU文件? 76 问:CImageList控件中图象橙色被显示...

    .NET中OpenFileDialog使用线程报错的解决方法

    所有需要与Windows消息队列交互的组件,如带有用户界面的ActiveX控件和OLE文档服务器,都必须在STA模式下运行。 2. MTA(多线程单元):这种模式允许对象被多个线程同时访问。对象的线程安全由对象本身实现,意味着...

    delphi基础教程和属性控件的使用全解

    在Delphi中,"控件"是可视化元素,如按钮、文本框、列表视图等,它们是构建用户界面的基本单元。每个控件都有自己的属性、事件和方法。"属性"是控制控件行为和外观的设置,例如,一个按钮的Caption属性可以设置其...

    wpf调用com组件

    在.NET框架中,Windows Presentation Foundation (WPF) 是一个用于构建桌面应用程序的强大工具,它提供了丰富的用户界面(UI)设计和数据绑定功能。然而,在某些情况下,开发者可能需要调用那些由旧版技术如ActiveX...

    com深刻讲解<<com本质论>>

    实例化过程称为“激活”,可以分为本地激活(在同一进程中)和远程激活(跨进程甚至跨网络)。 COM组件的另一个关键特性是线程安全。COM支持单线程和多线程激活模型,允许组件在不同线程上下文中工作。MTA(多线程...

    VCMFC扩展编程实例(pdf).rar

    可能涉及如何创建ActiveX控件,以及如何在MFC应用中集成和使用这些控件。 4. **数据库访问**:MFC提供了ODBC(Open Database Connectivity)接口,使得数据库操作变得简单。教程可能会讲解如何使用MFC的CDatabase和...

    《COM编程精彩实例》配套代码

    ActiveX控件可以通过Web浏览器加载和运行,实现跨平台交互。 11. **分布式COM (DCOM)**:DCOM扩展了COM,允许跨网络的组件交互。DCOM管理组件之间的网络通信,包括身份验证、路由选择和错误处理。 12. **ATL和MFC*...

    COM技术内幕

    单线程组件只能在创建它的线程中使用,而多线程组件则可以在多个线程中安全运行。 四、引用计数 COM对象使用引用计数来管理其生命周期。每当有新的引用指向对象时,引用计数增加;当引用失效时,引用计数减少。当...

    TestComApi_c++com_

    7. **ActiveX控件**:ActiveX控件是可嵌入到宿主应用程序中的小型组件,可以通过Web浏览器或应用程序进行交互。它们通常通过`IOleObject`、`IOleInPlaceObject`等接口实现。 8. **事件处理**:在C++中处理ActiveX...

    COM组件设计与应用

    根据组件设计,它可以是单线程 Apartment(STA)或多线程 Apartment(MTA),或者支持跨线程使用。STA组件通常用于UI元素,而MTA组件则适合后台服务。线程模型的选择直接影响到组件的并发行为和性能。 VC++是微软...

    《Delphi COM深入编程》原书光盘

    源码中可能包含创建和使用ActiveX控件的范例。 7. COM+服务:COM+扩展了COM,提供了事务处理、安全性、事件、池化等服务。学习这部分,可以让你更好地理解如何在企业级应用中利用COM+的优势。 通过阅读和分析这些...

    c#调用vc写的ocx控件示例

    OCX(OLE Control Extension)控件是一种基于COM技术的ActiveX控件,它能够在多种应用程序中复用。在许多遗留系统和桌面应用程序中,仍然广泛使用着OCX控件。 ### 1. 注册OCX控件 在使用OCX控件之前,必须先注册...

    vc++ 开发实例源码包

    代码里用了备份dll的方法,因此在自定义的函数中可以直接调用在内存中备份的dll代码,而不需要再把函数头部改来改去。 IOCP反弹远控客户端模型,外加上线服务端,全部代码注释! 如题。这个是IOCP远程控制软件的...

    delphi实例大全

    在本实例大全中,你将接触到一系列经典的Delphi应用实例,覆盖了从基础操作到高级特性的广泛内容。 1. **基础语法与环境设置**:初学者首先会学习如何安装和配置Delphi开发环境,包括创建新项目、设置工程属性以及...

Global site tag (gtag.js) - Google Analytics