首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在VB.NET中使用COM接口

在VB.NET中使用COM接口
EN

Stack Overflow用户
提问于 2018-03-21 12:46:36
回答 1查看 204关注 0票数 0

我使用VBA平台用下面的代码连接名为Simpack COM-Interface的第三方应用程序;

代码语言:javascript
复制
Dim Srv As Object
Dim Mdl As Object
Dim modelname As String

Sub GetSimpackModel()
modelname = "myModel.spck"
Set Srv = CreateObject("Simpack.Gui.2018x")
Set Mdl = Srv.Spck.openModel(modelname)
End Sub

在那之后,我有机会在我的项目中使用Simpack自己的类。

在VB.NET中,我使用了以下代码

代码语言:javascript
复制
Option Explicit On

Imports simpackcomguiLib

Module Module1

    Dim Srv As SpckCOMApp                                    'Define SRV variable as SpckCOMApp
    Dim Mdl As IScrModel                                           'Define Mdl variable as Model

    Sub GetConnect()
        Srv = New simpackcomguiLib.SpckCOMApp
        Mdl = Srv.Spck.openModel("myModel.spck")
    End Sub
End Module

这段VB.NET代码也可以工作,我可以从VB.NET打开程序并访问Simpack的COM类。

但是当我用VBA打开Simpack时,Simpack GUI工作正常,但是当我用VB打开Simpack时,Simpack的GUI被冻结了。

你认为我是不是在COM-connection上遗漏了什么,或者我用错了方法?

我关于这个主题的主要问题是:我在Visual Studio下实现了一个COM-Class项。我想知道是否有人有经验,你推荐在哪里/什么时候使用这个ComClass项目?

EN

回答 1

Stack Overflow用户

发布于 2018-03-22 16:51:34

按照要求,如何多线程这个:)我不确定你的Main()在哪里,所以你必须用下面的代码替换你当前的GetConnect()调用:

代码语言:javascript
复制
Dim NewThread = New System.Threading.Thread(AddressOf GetConnect)
NewThread.Start()

这应该能够运行fine :)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49398365

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档