2012-01-04 5 views
0

私は.NETにクラスを持ち、このクラスをfoxproのCOMオブジェクトとして呼び出しています。 このクラスには、異なるクラスタイプをパラメータとして受け入れることができるメソッドがあります。 .NETクラスメソッドにNULLを渡すにはどうしたらいいですか? VFPでオブジェクトを作成VFPから.NET Comにnullパラメータを渡す

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

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の解釈に問題があるので、私はそのような...そして、あなたがしなければならない、そして、

自体の中
public ParameterClass f_ClassMethodAsNULL() 
    { 
     f_ClassMethod_2(null); 
     ... etc... 
    } 

から直接メソッドを呼び出すなど、あなたのVBに余分な方法を試してみますVFPから関数f_ClassMethodAsNULL()を呼び出すことができます

関連する問題