これからコーディングを始める方が最初につまずきそうな項目を記事にしました。モーションコントロールを始めるには、64bit設定とWMXのDLLの参照が必要です。
Visual Studio プロジェクトの種類
.NET Framewoekである必要があります。 .NET Coreは選択しないようにしてください。
開発プラットフォームを64bitへ
XMXは64bitで動作しています。そのため、プロジェクトの設定からプラットフォームをAny CPUからx64に変更する必要があります。「32ビットを選ぶ」のチェックを外してください。
「ソシューションエクスプローラー」のプロジェクトを右クリック「プロパティ」で設定画面が開きます。
【トラブル】32bitモードで実行した時の不具合
デフォルトでは、「32ビットを選ぶ」にチェックがある事があります。
このまま32bitで実行した場合はデバック時にエラーとなり、ハンドルされていない例外 System.BadlmageFormatException が発生します。
「32ビットを選ぶ」にチェックを外してください。
【トラブル】Any CPU を削除した場合の不具合
これを行う不具合はデザイナーでFormが表示されなくなります。 そのためAnyCPUのプラットフォームは消すことができません。
理由はVisual Studioは32bitで実行されています。
消してしまった場合の解決方法はAny CPUを追加してください。
プロジェクトのDLLパス設定を行います
ソリューションエクスプローラーの参照を右クリックします。参照の追加をクリックしてください。
参照マネージャーで参照ボタンを押します。
参照アドレスに C:\Program Files\SoftServo\WMX3\Lib を入力し、ライブラリがある場所に移動してください。
CLR がC#用になります。 最低限下の2つは参照を行ってください。
WMX3Api_CLRLib.dll
CoreMotionApi_CLRLib.dll
IMDll.dll 実行環境に配置する必要があります。プロジェクトの参照は行いません。
OKを押し確定します。
実行時に必要ファイルの設定
WMX3ライブラリを使用して作成されたWindowsアプリケーションはアプリケーションディレクトリにIMDll.dllが存在していないと動作しません。そのため、コピーを行う仕掛けを設定する必要があります。
ソリューションエクスプローラーのプロジェクトを右クリックし、「プロパティ」を開いてください。「ビルドイベント」タブを選択します。ビルド後イベントのコマンドラインに
copy /y “C:\Program Files\SoftServo\WMX3\lib\IMDll.dll” “$(TargetDir)”
を追加してください。
ソースコードの名前空間を設定
コーティング前にパスを通してください。先頭に using WMX3ApiCLR; 宣言を記述します。
以上でコーティングが行える状態になりました。
コメント