IJCADの起動時に.NET アプリケーションを自動でロードする方法について紹介します。
-
- gcad.Lispを使用する
IJCADの起動時にサポートファイル検索パスを使用して、gcad.lspファイルが検索され、
ファイルが見つかった場合はそれがロードされます。
次のようにcommand関数を使用して、指定した.NET アプリケーションをロードすることが可能です。
(defun-q S::STARTUP ( ) (command "netload" "DLLファイルのパス") )
gcad.lspはシステム変数 ACADLSPASDOC で、起動時に1度だけロードされるか、
新規作成や既存図面を開いた際にもロードされるかを変更することが出来ますが、
.NET アプリケーションが何度もロードされてしまう恐れがあるので注意が必要です。
- gcad.Lispを使用する
- 起動スイッチ(/b)とスクリプトを使用する
IJCADのショートカットアイコンに起動スイッチ(/b)を追加することで、
起動時にスクリプトを使用することが可能です。
"<ドライブ名>:\Program Files\ITJP\IJCAD 20XX PRO\gcad.exe" /B "SCRファイルのパス"
次のようなスクリプトファイルを用意して、指定した.NET アプリケーションをロードすることが可能です。
NETLOAD "DLLファイルのパス" - 起動スイッチ(/ld)を使用する
IJCADのショートカットアイコンに起動スイッチ(/ld)を追加して、
.NET アプリケーションのDLLのフルパスを指定することでロードすることが可能です。
"C:\Program Files\ITJP\IJCAD 20XX PRO\gcad.exe" /ld "DLLファイルのパス" - APPLOADコマンドのスタートアップに登録する
APPLOADコマンドのスタートアップ登録に.NET アプリケーションを追加することで、
IJCAD起動時にアプリが自動でロードされます。
※APPLOADコマンドの詳細についてはIJCADのヘルプを参照してください。 - ディマンドロードを使用する
レジストリを編集してディマンドロードを行う事が可能です。
レジストリを利用するため、他の方法よりも難易度が高いです。
現在gcad.lspでの自動NETLOADと起動スイッチでスクリプトを使用した場合や、
ACADLSPASDOCを1に設定した場合に、予期せぬ動作でIJCADが異常終了する事が確認されています。
また、.NET の自動ロードに関しては、セキュリティ面での理由から gcad.lsp を使用するのは控え、
スタートアップに登録する方法か、ディマンドロードを使用する方法を推奨しています。