C# 调用 如何在多线程中调用 ocx中的函数啊。。。。。。
C# 调用 如何在多线程中调用 ocx中的函数啊。。。。。。
厂家提供的ocx有些函数是耗时的,主线程调用的话,会直接卡主主线程。
如何在子线程中调用啊。
我这边调用会报错。当前线程不在单线程单元中,因此无法实例化 ActiveX 控件“db5d6116-f923-4aa0-83d9-d6538f55e174”。
方法上加上 [STAThread]也会报错
private void GetHistoryData()
{
new Thread(new ThreadStart(delegate()
{
try
{
AxNetMediaLib.AxNetMedia ax = new AxNetMediaLib.AxNetMedia();
ax.CreateControl();
ax.SearchTime("0075002A93", 2016, 10, 27, 0, 0, 0, 0, 0, 0, 0, 0);
string sResult = ax.SearchGetFileInfo();
Invoke(new MethodInvoker(delegate()
{
MessageBox.Show(sResult);
}));
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
})) { IsBackground = true }.Start();
}
厂家提供的ocx有些函数是耗时的,主线程调用的话,会直接卡主主线程。
如何在子线程中调用啊。
我这边调用会报错。当前线程不在单线程单元中,因此无法实例化 ActiveX 控件“db5d6116-f923-4aa0-83d9-d6538f55e174”。
方法上加上 [STAThread]也会报错
private void GetHistoryData()
{
new Thread(new ThreadStart(delegate()
{
try
{
AxNetMediaLib.AxNetMedia ax = new AxNetMediaLib.AxNetMedia();
ax.CreateControl();
ax.SearchTime("0075002A93", 2016, 10, 27, 0, 0, 0, 0, 0, 0, 0, 0);
string sResult = ax.SearchGetFileInfo();
Invoke(new MethodInvoker(delegate()
{
MessageBox.Show(sResult);
}));
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
})) { IsBackground = true }.Start();
}
...全文
相关推荐
C#开发OCX控件,已经ASP.net调用OCX
【标题】:“C#开发OCX控件及ASP.NET调用OCX教程”【内容】:本教程聚焦于使用C#编程语言开发OCX(OLE Control Extension)控件,并在ASP.NET环境中进行调用,这对于那些希望深入理解
在C#开发WPF桌面应用程序调用OCX控件
公司需要开发开发C#的WPF桌面应用程序演示软件,该软件调用高拍仪设备使用的的两个x86版本的OCX组件用于显示和控制高拍仪设备。 一、开发环境: 操作系统: Windows 10 企业版操作系统 开发工具: Microsoft Visual Studio Community 2019 开发工具配置C#、C++桌面应用程序开发环境。 二、将OCX组件生成WPF可以使用的ActiveX控件* 1、先注册 OCX 控件;(有的把 OCX 控件封装到 EXE 文件中,安装即可; EloamThumbnail.oc
c#调用ocx控件的方法
### C#调用OCX控件的方法在C#中调用OCX控件是一种常见的技术,尤其是在需要利用已有组件功能的时候。本文将详细介绍如何在C#中注册、导入并使用OCX控件。
c#调用c++ocx控件的详细代码
**C#调用C++ OCX控件的步骤:**1. **引用OCX控件:**在C#项目中,你需要将OCX控件添加到引用列表中。
c#调用ocx问题
在C#中调用OCX(ActiveX控件)时常会遇到一个问题,即如何正确地在函数中传递数组。由于C#是托管语言,而OCX控件通常是非托管的COM组件,两者之间的数据交互需要特别处理。


