GACに存在する.NETアセンブリがあります。COMコンポーネントから呼び出すことができるように、正しく登録されています。この.NETアセンブリには、メソッドとメソッドのオーバーロードが含まれています。
public void Foo(string sValString, out string sOutString, string sOverloadString)
{
if( sOverloadString == string.Empty )
// do something
else
// do something else
}
public void Foo(string sValString, out string sOutString)
{
Foo(sValString, out sOutString, string.Empty);
}
これで、FoxProを使用してこのアセンブリを呼び出すことができます。
o = CREATEOBJECT("FooNamespace.FooClass")
sValString = "blah"
sOutString = "blahblah"
o.Foo(sValString, @sOutString, "") *OK!
o.Foo(sValString, @sOutString) *Generates error
3つのパラメーターバージョンの呼び出しは問題なく機能しますが、2つのパラメーターバージョンを呼び出すと、COMコンポーネントによって次のエラーが発生します。
OLE error code 0x80070057: The parameter is incorrect.
何か案は??ありがとうございました!