1

是否可以在 VB.Net exe 中创建一个可从另一个程序(不是 VB.Net)调用的子例程?我知道您可以使用程序集(dll)来执行此操作,但是您也可以在 exe 中执行此操作吗?

[编辑]这个 VB.Net exe 在调用时已经运行。

[Edit2] VB.Net程序,这些编译成BA_SyncNet.exe - Form1.vb

Public Class Form1
    ...
    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        ...
    End Sub
End Class

VB.Net 程序 - Helloworld.vb

Namespace MapInfoBA.MiProBA.SamplesBA
    Public Class HelloWorld

        Public Shared Sub SayHello(ByVal s As String)
            System.Windows.Forms.MessageBox.Show("Hello, " + s)
        End Sub

    End Class
End Namespace

调用程序 ba.mbx 使用:

Declare Method SayHello Class "MapInfoBA.MiProBA.SamplesBA.HelloWorld"  Lib "BA_SyncNet.exe" (ByVal strName As String)

Sub Main()
    Call SayHello("World")
End Sub

亲切的问候

4

2 回答 2

2

我知道你可以用一个程序集来做到这一点

.exe 是一种程序集。所以,是的。

于 2013-02-08T22:16:44.313 回答
0

使用 MapBasic 程序创建一个文件(比如说,DoThisVBNet.txt)。

然后您的 vb.net 程序会不时检查该文件。vb.net 程序将根据 DoThisVBNet.txt 文件执行一项任务(在您的情况下,调用一个子例程)。

但是,访问该文件时可能会出现问题,因为有两个程序正在使用它,要解决此问题,请使用注册表而不是文件。

于 2013-02-09T03:07:10.153 回答