JV-Link 質問箱 |
タイトル | : vc2019でのJVopenの「種類が一致してません」について |
記事No | : 6997 |
投稿日 | : 2022/10/04(Tue) 18:02 |
投稿者 | : ミミョウ |
|
4年分の掲示板がないとのことなで、すでに解決方法があるのかもしれません が見つけられませんでしたので、質問させていただきました。 MFCでの開発ですがVC2019でJVOpenをすると、エラー番号を返さずに 「種類が一致しません」とメッセージボックスが出ます。 開発環境によってActiveXコントロールの挙動が変わるものなのでしょうか。何 か設定を変える必要があるのでしょうか? VC2015で作成すれば特に問題はありません。 もう一点、質問ではありませんが,サンプルプログラムの出走別着度数処理用 サンプルc++とあるところダウンロードがVBになっています。テストができま せん。 以上よろしくお願いいたします。 |
|
タイトル | : Re: vc2019でのJVopenの「種類が一致してません」について |
記事No | : 6998 |
投稿日 | : 2022/10/07(Fri) 16:01 |
投稿者 | : JRA-VANソフトサポート |
|
JRA-VANソフトサポートの安本です。 DataLab.サービスをご利用頂きまして誠にありがとうございます。
> MFCでの開発ですがVC2019でJVOpenをすると、エラー番号を返さずに > 「種類が一致しません」とメッセージボックスが出ます。 > 開発環境によってActiveXコントロールの挙動が変わるものなのでしょう か。何 > か設定を変える必要があるのでしょうか? > VC2015で作成すれば特に問題はありません。
お手数ですが、下記ページから「サンプルプログラムVC2019版」をご確認いただけますでしょうか。 同じくVC2019で作成したサンプルプログラムであるため、 JVOpen使い方と開発環境プロパティの差分をご確認いただければと存じます。
●ソフト開発サポート https://jra-van.jp/dlb/sdv/sdk.html (JRA-VAN SDK 本体(ダウンロード用))
> もう一点、質問ではありませんが,サンプルプログラムの出走別着度数処理用 > サンプルc++とあるところダウンロードがVBになっています。テストができま > せん。
上記につきまして、確認中となります。 確認に進展がありましたら、こちらのスレッドでお伝えいたします。
何卒よろしくお願いいたします |
|
タイトル | : Re^2: vc2019でのJVopenの「種類が一致してません」について |
記事No | : 6999 |
投稿日 | : 2022/10/07(Fri) 20:57 |
投稿者 | : ミミョウ |
|
1点目の件確認してみます。2点目の件引き続きよろしくお願いいたします。 |
|
タイトル | : Re^3: vc2019でのJVopenの「種類が一致してません」について |
記事No | : 7001 |
投稿日 | : 2022/10/08(Sat) 07:39 |
投稿者 | : ミミョウ |
|
1点目の件確認してみました。まず、JVOpenの使い方ですがJVInitをコールして からコールしています。また、各仮引数の値、InvokeHelperに渡る直前の値も同 じです。環境設定も確認しましたが、サンプルはプリコンパイルへ済ヘッダーフ ァイルがstdafx.hでこちらはpch.hとなっているぐらいでした。(問題になりそ うな箇所としては)エラーメッセージはCOM側からものなので、COMとの相性が悪 いのかもしれません。CoCreateInstanceから直接COMのオブジェクトのインスタ ンスを作成し、インターフェイスにアタッチしてJVOpenし確認してみようと思い ますが、サポートの方も実際にVC2019でACtiveXコントロールを貼り付け変数を 追加して動作を確認してみていただけるでしょうか。なお、直接COMを操作する のはかまわないのですが、イベントの補足が困難なので、できたらACtiveXコン トロールの貼り付けで対処したいと思っております。よろしくお願いいたします 。 |
|
タイトル | : Re^3: vc2019でのJVopenの「種類が一致してません」について |
記事No | : 7002 |
投稿日 | : 2022/10/08(Sat) 07:41 |
投稿者 | : ミミョウ |
|
1点目の件確認してみました。まず、JVOpenの使い方ですがJVInitをコールして からコールしています。また、各実引数、仮引数の値、IvokeHelperに渡る直前 の値も同じです。環境設定も確認しましたが、サンプルはプリコンパイルへ済ヘ ッダーファイルがstdafx.hでこちらはpch.hとなっているぐらいでした。(問題 になりそうな箇所としては)エラーメッセージはCOM側からものなので、COMとの 相性が悪いのかもしれません。CoCreateInstanceから直接COMのオブジェクトの インスタンスを作成し、インターフェイスにアタッチしてJVOpenし確認してみよ うと思いますが、サポートの方も実際にVC2019でACtiveXコントロールを貼り付 け変数を追加して動作を確認してみていただけるでしょうか。なお、直接COMを 操作するのはかまわないのですが、イベントの補足が困難なので、できたらACti veXコントロールの貼り付けで対処したいと思っております。よろしくお願いい たします。 |
|
タイトル | : Re^4: vc2019でのJVopenの「種類が一致してません」について |
記事No | : 7006 |
投稿日 | : 2022/10/14(Fri) 11:13 |
投稿者 | : JRA-VANソフトサポート |
|
JRA-VANソフトサポートの安本です。 DataLab.サービスをご利用頂きまして誠にありがとうございます。
> サポートの方も実際にVC2019でACtiveXコントロールを貼り付 > け変数を追加して動作を確認してみていただけるでしょうか。
VC2019のサンプルプログラムを利用し、 ActiveXコントロールの貼り付け、および、変数追加を行って動作確認をしまし たが、問題なく動作いたしました。
VC2015では動作していたとのことでしたので、VC2019との互換性の問題かと考 えられます。
> もう一点、質問ではありませんが,サンプルプログラムの出走別着度数処 > 理用サンプルc++とあるところダウンロードがVBになっています。 > テストができません。
出走別着度数処理用サンプルにつきましては、Microsoft Visual Basic 2019版 のみ提供しております。 ページ内の記載に誤りがありご迷惑をお掛けしましたこと、お詫び申し上げま す。 Visual C++ 2019版の提供につきましては、要望として今後のサービス改善にて 検討させていただきます。
何卒よろしくお願いいたします。 |
|
タイトル | : Re^5: vc2019でのJVopenの「種類が一致してません」について |
記事No | : 7010 |
投稿日 | : 2022/10/17(Mon) 02:38 |
投稿者 | : ミミョウ |
|
ご回答ありがとうございます。
> VC2019のサンプルプログラムを利用し、 > ActiveXコントロールの貼り付け、および、変数追加を行って動作確認を しまし > たが、問題なく動作いたしました。 > > VC2015では動作していたとのことでしたので、VC2019との互換性の問題か と考 > えられます。
とのことでしたので互換性の問題を検討してみました。
サンプルとVC2019で作成された // Microsoft Visual C++ で作成された自動生成 IDispatch ラッパー クラス のJVOpenの関数内のVARIANTのparmsの型が異なっていることがわかりました。
サンプル:static BYTE parms[]=VTS_BSTR VTS_BSTR VTS_I4 VTS_PI4 VTS_PI4 V TS_PBSTR ; vc2019 :static BYTE parms[] = VTS_BSTR VTS_BSTR VTS_I4 VTS_UNKNOWN VTS _UNKNOWN VTS_UNKNOWN;
自動生成ではなぜかJVOpenのポンター型引数がすべてVTS_UNKNOWN(IUnknown* )として展開されるに対して、VC2017以前ではポンターの元の型で展開されてい ます。
比較的新しいVCではうまくラッパー クラスが生成できないという事例があるよ うです。 この点、初めからプログラムを作成する人のためにアナウンスがあったほうが 良いと思われます。 (私はかなりハマりました。) 解決策としては、サンプルのjvlink.hをそのまま差し替えるのが手っ取り早い と思います。 |
|
|
|
copyright ©2007 JRA SYSTEM SERVICE CO.,LTD. All Rights Reserved.
|
|
|