Hello everyone,

I'm in the process of using delegates in a vb.net project which
interacts with C# *.DLLs.

The goal is to access the Listbox in VB *through* a delegate
accessible by C#.


1) I declared a delegate like this in vb:


Public Delegate Sub UpdateCommandHistoryDelegate(ByVal AMsg As String)


2) Then I use the code below to assign it to a delegate instance:


Public Overloads Sub UpdateCommandHistory(ByVal AMsg As String)

 tabBase.SelectedIndex = 0      ' display the message(s) in the
lstCommandHistory tab

 lstCommandHistory.Items.Insert(lstCommandHistory.Items.Count,
AMsg)     ' insert the status message
 lstCommandHistory.SetSelected(lstCommandHistory.Items.Count - 1,
True)  ' display the latest message
End Sub


3) I pass the delegate to a C# method that accepts it. When I use it
like this:

 dm.vbDelegate.DynamicInvoke("this is a message.. ");


I get an compiler error: "Argument '1': cannot convert from 'string'
to 'object[]'".
Now how come the parameter is of type "object[]" when I am expecting
it to be of type
string?

I'm using vs 2003 sp1, with .NET 1.1 framework.


Thank you in advance for helping me out with this.












Reply via email to