我使用VBA平台用下面的代码连接名为Simpack COM-Interface的第三方应用程序;
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中,我使用了以下代码
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项目?
发布于 2018-03-22 16:51:34
按照要求,如何多线程这个:)我不确定你的Main()在哪里,所以你必须用下面的代码替换你当前的GetConnect()调用:
Dim NewThread = New System.Threading.Thread(AddressOf GetConnect)
NewThread.Start()这应该能够运行fine :)
https://stackoverflow.com/questions/49398365
复制相似问题