Reputation: 147
I'm having problems translating this into VB:
public delegate void ChangeMessageEvent(string message);
public static event ChangeMessageEvent ChangeMessage = null;
Also this doesn't seem to work
if (oStatusManager.ChangeMessage != null)
{
oStatusManager.ChangeMessage(message);
Application.DoEvents();
}
Error MSG:
'Public Shared Shadows Event ChangeMessage(message As String)' is an event, and cannot be called directly. Use a 'RaiseEvent' statement to raise an event.
VB Code:
I used developer fusion to convert it
Here nothing is underlined and says: End of statement expected
Public Delegate Sub ChangeMessageEvent(message As String)
Public Shared Event ChangeMessage As ChangeMessageEvent = Nothing
If oStatusManager.ChangeMessage IsNot Nothing Then
oStatusManager.ChangeMessage(message)
Application.DoEvents()
End If
for the above line
'Public Shared Event ChangeMessage(message As String)' is an event, and cannot be called directly. Use a 'RaiseEvent' statement to raise an event.
Upvotes: 0
Views: 196
Reputation: 6542
Two things - drop the " = Nothing" and use the hidden VB 'Event' field - or drop the conditional altogether since VB does the check within the 'RaiseEvent':
Public Delegate Sub ChangeMessageEvent(ByVal message As String)
Public Shared Event ChangeMessage As ChangeMessageEvent
Private Sub test()
If oStatusManager.ChangeMessageEvent IsNot Nothing Then
RaiseEvent oStatusManager.ChangeMessage(message)
Application.DoEvents()
End If
End Sub
Upvotes: 1