Hallo. Ich konvertiert diese C# -Code:vb.net Prozess Kommunikation mit Memory-Mapped-Dateien
Ich verwende dieses projet: https://code.msdn.microsoft.com/Inter-process-communication-e96e94e7
private void frmMain_Load(object sender, EventArgs e)
{
communicator = new MemoryMappedFileCommunicator("MemoryMappedShare", 4096);
// This process reads data that begins in the position 0 and writes starting from the position 2000.
communicator.ReadPosition = 0;
communicator.WritePosition = 2000;
// Creates an handler for the event that is raised when data are available in the
// MemoryMappedFile.
communicator.DataReceived += new EventHandler<MemoryMappedDataReceivedEventArgs>(communicator_DataReceived);
communicator.StartReader();
}
private void communicator_DataReceived(object sender, MemoryMappedDataReceivedEventArgs e)
{
var receivedMessage = System.Text.Encoding.UTF8.GetString(e.Data);
lstMessages.Items.Add(receivedMessage);
lstMessages.SelectedIndex = lstMessages.Items.Count - 1;
// Sends a message as a response.
communicator.Write("Message from Windows App: data received at " + DateTime.Now);
}
zu vb.net wie folgt aus:
Dim communicator As New MemoryMappedFileCommunicator("MemoryMappedShare", 4096)
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
' This process reads data that begins in the position 2000 and writes starting from the position 0.
communicator.ReadPosition = 2000
communicator.WritePosition = 0
' Creates an handler for the event that is raised when data are available in the MemoryMappedFile.
AddHandler communicator.DataReceived, AddressOf New EventHandler(Of MemoryMappedDataReceivedEventArgs)(communicator_DataReceived)
communicator.StartReader()
End Sub
Private Sub communicator_DataReceived(ByVal sender As Object, ByVal e As MemoryMappedDataReceivedEventArgs)
Dim receivedMessage = System.Text.Encoding.UTF8.GetString(e.Data)
lstMessages.Items.Add(receivedMessage)
lstMessages.SelectedIndex = lstMessages.Items.Count - 1
' Sends a message as a response.
communicator.Write("Message from Windows App: data received at " + DateTime.Now)
End Sub
Nach der Konvertierung, bekomme ich Fehler in vb .net Code wie folgt: VB.NET ERROR
EDelegate 'System.EventHandler(Of MemoryMappedFileManager.MemoryMappedDataReceivedEventArgs)' requires an 'AddressOf' expression or lambda expression as the only argument to its constructor.
An dieser Linie:
AddHandler communicator.DataReceived, AddressOf New EventHandler(Of MemoryMappedDataReceivedEventArgs)(communicator_DataReceived)
Welche Fehler? Du hast gerade ein Bild des Fehlers unterstrichen ... * was ist die Fehlermeldung *? –
Ich sehe Ihr aktuelles Update, aber Sie haben die Fehlermeldung noch nicht angezeigt. Bitte ** poste die Fehlermeldung **. –
Delegate 'System.EventHandler (von MemoryMappedFileManager.MemoryMappedDataReceivedEventArgs)' benötigt einen 'AddressOf'-Ausdruck oder Lambda-Ausdruck als einziges Argument für seinen Konstruktor. –