在VB.Net exe中创建可从其他程序调用的子例程



是否可以在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

亲切问候

我知道你可以用组装来做到这一点

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

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

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

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

相关内容

最新更新