2012-01-04 3 views
0

У меня есть класс в .NET и вызов этого класса в качестве COM-объекта из foxpro. Этот класс имеет методы, которые могут принимать разные типы классов в качестве параметра. Как передать метод NULL в .NET?Передача нулевого параметра из VFP в .NET Com Class

[ClassInterface(ClassInterfaceType.AutoDual)] 
[ProgId("ParameterClass")] 
[ComVisible(true)] 
class ParameterClass 
{ 
    public ParameterClass f_ClassMethod_2(ParameterClass _d) 
    { 
     Debugger.Launch(); 
     return _d; 
    } 
} 

Создание объекта в VFP:

cls= CREATEOBJECT("ParameterClass ") 

Этот код возвращает ошибку:

obj3 = cls.f_ClassMethod_2(null) 
//Error: OLE error code 0x80070057: The parameter is incorrect. 

или этот код:

obj3 = cls.f_ClassMethod_2(.Null.) 
//Error: OLE error code 0x80070057: The parameter is incorrect. 

или этот код:

prm = .Null. 
obj3 = cls.f_ClassMethod_2(prm) 
//Error: OLE error code 0x80070057: The parameter is incorrect. 

ответ

0

Поскольку у вас возникли проблемы с интерпретацией NULL между ними, я хотел бы попробовать дополнительный метод в VB, такие как .. затем вызвать ваш метод непосредственно из себя

public ParameterClass f_ClassMethodAsNULL() 
    { 
     f_ClassMethod_2(null); 
     ... etc... 
    } 

Затем, вы должны просто позвоните функции f_ClassMethodAsNULL() из VFP

 Смежные вопросы

  • Нет связанных вопросов^_^