2023/06/12

Visual Basicで新たにJV-Link使ったアプリを

 随分前にやったので記憶が曖昧なのでメモしておきます。現時点での環境ですが、Visual Studio Community 2022 Ver.17.6.2です。

新しいプロジェクトの作成でWindowsフォームアプリを選択して次へ
まあ、JVLinkTestとして次へ
現在のデフォルトの.NET6.0のまま次へで、しばらく待てば
新しいプロジェクトが出来上がります。まずやる事はプロジェクトにJV-Linkを認識させる事からです。[プロジェクト]-[COM参照の追加(C)...]でアルファベット順なので少し下に行って
「JRA-VAN Data Lab 1.1.8タイプライブラリ」にチェック付けてOKする。Visual Studioの右側に表示されているソリューションエクスプローラーで
「依存関係」を展開すると
COMの下にInterop.JVDTLabLibをクリックし、下にプロパティが表示されるので(もし表示されなかったらマウスで右クリックしてプロパティを選べは表示されるはず)
「相互運用型の埋め込み」が「はい」になっているので「いいえ」にする。
確かこれでプロジェクトにJV-Linkを認識させられた筈です。で、現時点ではJV-Linkが32ビットのみサポートしてますのでプロジェクトのプロパティ([プロジェクト]-[JVLinkTestのプロパティ])で
「コンパイル」の中の「オプション」をクリックすると
「ターゲットCPU」が「Any CPU」になっているので
「x86」に変更。Visual Studioのメニューバーの下にあるツールバーにも
「Debug」の横に「Any CPU」となっているので
「構成マネージャー」を選択して
「アプリケーション プラットフォーム(P):」の下の「Any CPU」を
「新規作成...」から
「新しいプラットフォームを入力または選択してください(P):」の「ARM32」(もしかすると環境によってここにデフォルトで表示されるものは変わるかも)を「x86」を選択して
OKする。
「構成マネージャー」に反映されるので閉じる。
これで準備は完了。ここからコーディングになる訳です。

PC環境には既にVisual StudioとJV-Linkはインストールさせている前提での話になってます。って事で、JV-LinkがインストールされているのでJRA-VANのサイトとかは当然行けたりしてると思うので、サイトトップの「競馬ソフトを開発したい人へ」に進むと「競馬ソフト開発体験教室」があるのでこれをやる準備が出来た訳です。が!その説明には「VB2015で...」となっていて、中に入ると「VB2019で...」となってます。更に今回ってか今大体入れるのはVisual Studio 2022です。なのでそのまま説明見てもダメなんです。

Visual Studioのツールボックスにも当たり前ですが「JVLink Class」なるものは存在しません。そもそも、ツールボックスすら無かったりしますので
[表示]メニューで
「ツールボックス」をクリックすれば
ツールボックスが表示されます。でまあ、最初のLesson.1「サービスキーを入力する仕組みを用意する」をやってみるとすると最初に出てくる「【やってみよう】」はやれないのでそのまま次に進みます。ここの進め方自体が分からない場合は、頑張ってとしか言い様がないのでどこかで力を借りて進めて下さい。レッスン内の説明では「JV-Linkの設定」メニューの名前が「mmuConfigJV」としてますが、まあ、担当者が単純にミスタイプしたんだと思うのでこちらでは「mnuConfigJV」で進めます。
ツールボックスから「JVLink Class」をフォームに貼り付けてないのでAxJVLink1がエラーになっているかと思います。この対処として
フォーム表示して選択された状態だとプロパティにフォームのプロパティが表示されているので
左から4つ目の稲妻マークがイベントなのでクリックして
表示されたイベント設定の「Load」の右側の現在空の部分をマウスでダブルクリックすると
frmMainフォームのロードイベントが記述出来る様になる。まずはコードの最初の方に
Public clsJVLink As JVDTLabLib.JVLinkClass = New JVDTLabLib.JVLinkClass()
の1行を追加。
AxJVLink1をclsJVLinkに修正すると
このまま実行してみると
エラーになります。これってVisual Studioの問題だった記憶ですが、ソリューションエクスプローラーでForm1.vbをマウスで右クリックして「名前の変更」でfrmMain.vbにして(これ自体は問題ではないと思うけど)
エラー一覧に表示されているエラーをダブルクリックすると
エラー箇所が表示されます。Form1をfrmMainに修正して実行すれば
無事に起動して
動作する事は確認出来ます。まあ、このままLesson.2以降に行ける筈です。Lesson.2で先程のロードイベントにコード追加したりとか諸々行う事になるかと。

0 件のコメント:

コメントを投稿