UserControl объект на C# нужно использовать из VB6, зарегистрил класс в сборке как ActiveX
В контроле есть метод void DoWork(), нужно его вызвать из VB6...
public void DoWork()
{
MessageBox.Show("DoWork is OK");
}
Дело в том что я совершенно не знаю VB...
Вставил контрол на форму, добавил кнопку, закладки с событиями не нашел...
ну ладно думаю, два раза кликнул на ней — открылось окно с кодом для обрабочика нажатия кнопки
, пишу так:
Private Sub Command1_Click()
ButtonX1.DoWork
End Sub
запускаю, нажимаю на кнопку и получаю ошибку:
Run-time error '5':
Invalid procedure call or argument
как это интерпретировать? почему не работает?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Здравствуйте, Morpheus_, Вы писали:
M_>… закладки с событиями не нашел...
В редакторе кода, если мне не изменяет память, вверху выбирай из выпадающего списка объект (справа) и событие (слева).
M_>Private Sub Command1_Click()
M_> Call ButtonX1.DoWork
M_>End Sub
M_>запускаю, нажимаю на кнопку и получаю ошибку:
M_>Run-time error '5':
M_>Invalid procedure call or argument
M_>как это интерпретировать? почему не работает?
В какой строке?
... << RSDN@Home 1.2.0 alpha rev. 670>>
Now playing: «Тихо в лесу…»
Здравствуйте, _FRED_, Вы писали:
_FR>Здравствуйте, Morpheus_, Вы писали:
M_>>… закладки с событиями не нашел...
_FR>В редакторе кода, если мне не изменяет память, вверху выбирай из выпадающего списка объект (справа) и событие (слева).
ну вроде ясно, только почемуто не работают события, ну да ладно они вобщемто не очень то и нужны, нужно метод у объекта вызывать...
_FR>M_>>Private Sub Command1_Click()
M_>> Call ButtonX1.DoWork
M_>>End Sub
_FR>
M_>>запускаю, нажимаю на кнопку и получаю ошибку:
_FR>M_>>Run-time error '5':
M_>>Invalid procedure call or argument
M_>>как это интерпретировать? почему не работает?
_FR>В какой строке?
дык строки всего 3
вот в этой (добавил Call, но это ничего не изменило):
Call ButtonX1.DoWork
вначале подумал, может VB не понравилось что этот метод MessageBox открывает (фиг уж его знает что ему не нравится)... сделал метод пустым — таже беда
Все становится еще непонятнее от того что ActiveX работает, пробовал в JavaScript и VBScript на HTML странице — все работает нормально...
Что этому VB6 нужно???
Может ему нужно чтобы метод какимто особенным был?
Помогите плиз, очень нужно решить этот вопрос...
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
M_>вот в этой (добавил Call, но это ничего не изменило):
M_>M_> Call ButtonX1.DoWork
M_>
Ура, получилось!
Нужно делать так:
ButtonX1.Object.DoWork
Кто бы мог подумать... оказывается у ButtonX1 хоть и есть метод DoWork но вызывать его нельзя, а вот у Object нет метода DoWork но вызывать можно
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>