■ASP.NET(C#)からDLL(VC++)の呼び出しについて ASP.NETから、ActiveXのDLL を呼び出す。
例:XXX01.DLLを呼び出す場合 ①XXX01.DLLを利用するため、以下のコマンドにて、レジストリへの登録を行う。 [regsrv32 SZA01.DLL] ②以下のコード記入例にて、XXX01.DLLを使用。 コード記入例: //オブジェクトを生成する XXX01.EXECSERVERAPClass xxx01 = new XXX01.EXECSERVERAPClass(); //ジョブを起動する iRet = xxx01.SZAP_CREATEJMSS(Cl_name, strJobID, strJoken,out intRet, ref intJmss);
■(1)ASP.NET(C#)から、既存のDLL(VC++)の呼び出し方法 ①ASP.NET(C#)から、ActiveX DLL(VC++)を呼び出す場合、直接ASP.NETプロジェクトへ参照して使用する。 参照手順: 「ASP.NETプロジェクトを開く」→「ソリューションエクスプローラ」→「参照設定」→「参照の追加画面」→「参照(B)」の順で直接使用するDLLを参照する。
②ASP.NET(C#)から、普通DLL(VC++)にてextern “c”で定義したメソッドを呼び出す場合、DllImportにより使用する。
記入例: [DllImport("DLL名.DLL", EntryPoint="関数名", SetLastError=true)] private static extern 型 関数名(引数1, 引数2, …);
VC側 extern "C" void __declspec(dllexport) APIENTRY "関数名"(LPCSTR 引数1, LPCSTR 引数2)
(2)ASP.NET(C#)から、C#にて作成されたDLLの呼び出し方法 ASP.NET(C#)から、C#にて作成されたDLLを呼び出す場合、直接ASP.NETプロジェクトへ参照して使用する。 参照手順: 「ASP.NETプロジェクトを開く」→「ソリューションエクスプローラ」→「参照設定」→「参照の追加画面」 →「参照(B)」の順で直接使用するDLLを参照する。 使用例: クラス名 obj = new コンストラクタメソッド(…); 戻り値 = obj.メソッド名(…);