使用しなければならないサードパーティの dll ライブラリが 1 つあります。次の非常に単純な Delphi コードがその役割を果たします。
var
CCPActiveX:variant;
begin
CCPActiveX:=CreateOleObject('CCP.CCPActiveX');
CCPActiveX.CCP_Init('arg1','arg2');
//...
CCPActiveX:=unassigned;
end;
ただし、C#でも同じことが動作するようにしたいと考えています。次のようなdllメソッドをインポートしようとしました:
class CCP
{
[DllImport("CCP.dll")]
private static extern int CCP_Init(string arg1, string arg2);
public static int Init(string arg1, string arg2)
{
return CCP_Init(arg1, arg2);
}
}
ただし、 DLL エントリ ポイントの例外が見つかりませんという結果になります。
また、エントリポイントを別の方法で指定しようとしました。
[DllImport("CCP.dll", EntryPoint = "CCP.CCPActiveX.CCP_Init")]
[DllImport("CCP.dll", EntryPoint = "CCPActiveX.CCP_Init")]
等々。しかし、何も変わりませんでした。
Windows XP x86 で Delphi コードをテストしました。そして C# コード - Windows 7 x64 上。両方の OS で、dll は regsvr32.exe に正常に登録されています。私は何を間違っていますか?