JRA公式競馬データ配信サービス JRA-VAN Data Lab.

JRA-VAN DataLab.

競馬ソフト開発コーナー

JV-Link 質問箱

一括表示 リストに戻る
タイトルVS2022でのJVLimk Class の登録について
記事No7277
投稿日: 2023/08/09(Wed) 15:07
投稿者どんぐり
Visual Studio 2019版では
JVlink Classが、comコンポーネントとして、登録できるのですが
Visual Studio 2022版では
 Comコンポーネントに、JVLink Classは出てきません。
 よって、FormにJVLinkコンポーネントが貼り付けられません。

  2022版ではどのようにすればよいのでしょうか?

タイトルRe: VS2022でのJVLimk Class の登録について
記事No7281
投稿日: 2023/08/09(Wed) 16:38
投稿者サメの餌
どんぐりさん、こんにちは。

Visual Studio 2022から64bit化されてJV-Linkが32bitって事でそんな感じです
。貼り付けは断念して

・[プロジェクト]-[COM参照の追加(C)...]で「JRA-VAN Data Lab 1.1.8タイプ
ライブラリ」にチェック付けてOKする。

・Visual Studioの右側に表示されているソリューションエクスプローラーで「
依存関係」を展開するとCOMの下にInterop.JVDTLabLibがあるのでそのプロパテ
ィ「相互運用型の埋め込み」が「はい」になっているので「いいえ」にする。

・クラスとして定義
Public clsJVLink As JVDTLabLib.JVLinkClass = New JVDTLabLib.JVLinkClass
()

・ターゲットをAnyPCではなくx86にする

こんな感じで行ける筈です。Visual Basicで書きましたが、C#だと
JVDTLabLib.JVLink InterfaceJVLink = new JVDTLabLib.JVLink();
って感じですかね。

参考になれば幸いです。

タイトルRe^2: VS2022でのJVLimk Class の登録について
記事No7284
投稿日: 2023/08/09(Wed) 19:03
投稿者どんぐり
ありがとうございます。
早速やってみたいと思います。

タイトルRe^3: VS2022でのJVLimk Class の登録について
記事No7286
投稿日: 2023/08/09(Wed) 20:59
投稿者どんぐり
サメの餌 様

 VS2019からの移植(C#)なのですが、
 クラスの定義がうまくゆきません。

  ちなみにVS2019で張り付けていた名前は、
    JVLink1 でした。

  構文をご指導いただければ幸いです。

タイトルRe^4: VS2022でのJVLimk Class の登録について
記事No7287
投稿日: 2023/08/09(Wed) 21:47
投稿者サメの餌
どんぐりさん、こんばんは。

ごめんなさい、ちと引用する行を間違えてました。

public static JVDTLabLib.JVLinkClass clsJVLink = new JVDTLabLib.JVLinkClass();

って引用するつもりだったのに、本当に申し訳ございません。もし、使ってた変数名がJVLink1でしたら

public static JVDTLabLib.JVLinkClass JVLink1= new JVDTLabLib.JVLinkClass();

な感じかと。で、例えば

int iReturnCode = JVLink1.JVInit(SID);

てな感じにしてするんだと。

非常にシンプルにでも無駄な時間を費やす事になってと思うので本当に申し訳ございません。上手く行く事を願ってます。何かあれば自分に出来る範囲でお答えします。

タイトルRe^5: VS2022でのJVLimk Class の登録について
記事No7288
投稿日: 2023/08/09(Wed) 21:55
投稿者サメの餌
言葉が微妙に変ですね。そこはご容赦下さい。

public staticに宣言してるのは、他のフォームでも使う可能性があるからで、
メインフォームってか起動されるフォームで一度JVInitしていれば他のフォーム
でデータ取得する時にもそのフォームを指定しながら使えるからです。

タイトルRe^6: VS2022でのJVLimk Class の登録について
記事No7289
投稿日: 2023/08/09(Wed) 21:59
投稿者サメの餌
更に言い訳っぽいですが、最初に書いた行はJV-Linkでイベント監視して諸々す
る場合の定義で使います

InterfaceJVLink.JVEvtPay += new JVDTLabLib._IJVLinkEvents_JVEvtPayEvent
Handler(this.InterfaceJVLink_JVEvtPay);

的に書いて払戻確定時のイベント対処するとかなんとかだったかと。

タイトルRe^5: VS2022でのJVLimk Class の登録について
記事No7290
投稿日: 2023/08/09(Wed) 22:58
投稿者どんぐり
サメの餌 様

ありがとうございます。
先ほどの1行を冒頭に追加いたしました。
debugで  ReturnCode = axJVLink1.JVInit(SID);
でバンドルされていない例外 ということで止まりますね。
2022は厄介ですね。

タイトルRe^6: VS2022でのJVLimk Class の登録について
記事No7291
投稿日: 2023/08/09(Wed) 23:29
投稿者サメの餌
どんぐりさん、こんばんは。

debugで実行時のツールバーの"Debug"の右、緑の▶の左に
ある元々"Any CPU"となっている所が"x86"になっている事
と、多分そこだけで良い気もするんですが、これ、最初に書いてたのでやってた
とすると...以前はプロジェクトのプロパティにもこのx86を指定する場所があっ
たと思ったんですが、今確認すると見つけられないorz

Visual Studio Community 2022をもう1年以上、そろそろ2年になりそうですが
、まあ、今はなかなかなじんで来てます。問題なく動かせているので何かが...
それが特定出来れば良いのですが

タイトルRe^7: VS2022でのJVLimk Class の登録について
記事No7292
投稿日: 2023/08/09(Wed) 23:51
投稿者どんぐり
Class の登録が、うまくないのかもしれません。

VS2020,VS2019は何年も永くやっているのですが、2022は始めたばかりで、手探
りの状態です。


いろいろありがとうございます。ま、VS2019では、完全に動作していますので
、むりに2022することもないのですが、せっかく購入しましたので使いたい
、というとうところです。

タイトルRe^8: VS2022でのJVLimk Class の登録について
記事No7293
投稿日: 2023/08/10(Thu) 04:36
投稿者どんぐり
サメの餌 様

ついに成功しました。問題だったのは
2019からの移植でしたので、以前に張り付けていたJVLinkが
悪さをしていました。悪さの原因を除いて成功しました。
大変ありがとうございました。
お蔭様で、VS2022に突き進むことができます。
大感謝です。!!

ウィンドウを閉じる