Создал, делал .Invoke на процедуру нужного класса.
Аргументы передавал через Public переменную.. Все ок.
Потом решил что делегат то может передавать аргументы сам.
И переделал в:
- Код: Выделить всё
Delegate Sub M1(ByVal Columin As Integer, ByVal Linktext As String, ByVal Linktag As String)
сигнатура самой процедуры добавления, которую нужно то собственно вызывать -
- Код: Выделить всё
Private Sub ColuminsAddItem(ByVal Columin As Integer, ByVal Linktext As String, ByVal Linktag As String)
Из потока вызываю так:
- Код: Выделить всё
Dim c1 As M1 = AddressOf Me.ColuminsAddItem
Dim a(3) As Object
a(0) = 1
a(1) = "FirstStrArg"
a(2) = "SecondStringArg"
MainForm.Invoke(c1, a)
и.. чтобы вы думали? Получаю Parameter count mismatch.
Почему, ведь в ней 3 аргумента, 1 Int, 2 строковых..
Или я что-то не так понял?