Я знаю, что исправил эту же проблему около 6 лет назад ... но я не могу вспомнить, в чем дело.
У меня есть класс .NET.Это видимо COM (но не зарегистрировано COM).Возвращается в результате вызова класса, зарегистрированного в COM.Поэтому мой код VB6 заканчивается на
Dim instance as Variant
' call .NET exposed tlb to set instance with a COM visible class
Dim wrapper as New ComWrapper ' this is a .NET class COM exposed and registered
Set instance = wrapper.MyClassInstance ' MyClassInstance is an instance of COM visible, but not COM registered MyClass defined below
instance.DoIt 1
Соответствующим классом является MyClass
public class MyClass
{
public void DoIt(int id) { ... }
}
Call instance.DoIt 1 вызывает исключение "Требуется объект"Если я правильно помню, это как-то связано с тем, что целое число 1 должно быть упаковано или распаковано или что-то, что VB6 не делает автоматически для вас ... но я не могу вспомнить, как это исправить... Если метод DoIt не имеет аргументов, все работает нормально ...
Кто-нибудь знает, как это исправить?
Спасибо.