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

JRA-VAN DataLab.

競馬ソフト開発コーナー

JV-Link 質問箱

新着記事 リストに戻る
タイトルRe^3: 新環境でのエラーについて
記事No5202   [関連記事]
投稿日: 2017/11/16(Thu) 18:27
投稿者JRA-VANソフトサポート
JRA-VANソフトサポート 渡部です
DataLab.サービスをご利用頂きまして誠にありがとうございます

ご回答いただきありがとうございます。

>新環境のフレームワークが
>「.NET Framework 4.0」になっていましたので、旧環境と同じ
>「.NET Framework 3.5」に変更したところ、
>エラーは(今のところ)発生しなくなりました。

.NET Frameworkの3.5と4.0間では主に以下の差が存在するようです。

3.5
下位のバージョンの機能を含む(2.0〜3.5)

4.0
下位のバージョンの機能を含まない

上記の差が直接の原因かは現状で判断しかねるところではありますが、
エラーが発生しなくなったとのことですので、
恐れ入りますが再発まで様子見いただければと思います。

以上、よろしくお願いいたします。

タイトルRe^2: 新環境でのエラーについて
記事No5201   [関連記事]
投稿日: 2017/11/14(Tue) 23:20
投稿者ようか
ご調査頂きありがとうございます。

質問いただいた件を調べていたところ、新環境のフレームワークが
「.NET Framework 4.0」になっていましたので、旧環境と同じ
「.NET Framework 3.5」に変更したところ、
エラーは(今のところ)発生しなくなりました。

念のため、ご質問いただいた件について下記の通り
ご回答させていただきます。

> ・検証ツールで速報系オッズを取得し同様のエラーが発生するか
>
検証ツール(Ver2.3.0)では正常に取得できております。
少し説明が不足しておりましたが、新環境でも(作成ツールで)情報の
取得は可能なのですが、取得処理をタイマーで回し続けていると
途中でエラーになり落ちてしまいます。

・実行している処理
ReturnCode = AxJVLink1.JVRTOpen("0B30", key)
★key変数には開催分の全レースコードを設定しております。

なお、データが提供されている土・日は比較的エラーが
発生しにくいのですが、データが提供されていない時間帯(月〜金)に
検証目的等で実行すると、数分でエラーが発生し落ちてしまいます。

> (検証ツールがエラーにならない場合)
> ・作成ツールは、新環境移植後リビルドしているか
>  ツールを実行したときとビルドしたときで出力されるエラーは同様か
作成ツールは、新環境移植後にリビルドしております。
デバッグ時は「型 'System.AccessViolationException' ・・・・
」の
エラーが表示されますが、ビルドしたツールを実行すると、
下記エラーが表示されます。
「○○○○○.exeは動作を停止しました。問題が発生したため、
プログラムが正しく動作しなくなりました。」

ただ、イベントログを見ると下記エラーが記録されているので
デバッグ時と同じくSystem.AccessViolationExceptionで
落ちているようです。
-----------------
フレームワークのバージョン:v4.0.30319
説明: ハンドルされない例外のため、プロセスが中止されました。
例外情報:System.AccessViolationException
-----------------

> ・構成プロパティや対象プラットフォームは旧環境と新環境で同様か
>

以下の通りとなります。
・対象プラットフォーム
(新環境)→Any CPU
(旧環境)→Any CPU

・対象フレームワーク
(新環境)→.NET Framework 4.0
(旧環境)→.NET Framework 3.5

> ・VB2008からVisualStudio2015への移行時にエラーや警告はなかったか
>
アップグレード時には以下の警告が1つだけ出ていました。
「このプロジェクトを Visual Studio 2015、Visual Studio 2013、Visual St
udio 2012、
および Visual Studio 2010 SP1 で開けるように、プロジェクトの
動作には影響しない非機能的な変更をプロジェクトに加える
 必要があります。」


> ・新旧環境の.NET Frameworkのバージョン値
>
インストール済みの.NET Frameworkは以下の通りとなります。
※新旧ともに同じ状態となります。

.NET Framework 2.0 Service Pack 2 がインストール済みです
.NET Framework 3.0 Service Pack 2 がインストール済みです
.NET Framework 3.5 Service Pack 1 がインストール済みです
.NET Framework 4.7 Service Pack 1 がインストール済みです
※すべて日本語Language Packがインストール済み

以上、宜しくお願い致します。

タイトルRe: 新環境でのエラーについて
記事No5200   [関連記事]
投稿日: 2017/11/10(Fri) 19:33
投稿者JRA-VANソフトサポート
JRA-VANソフトサポート 渡部です
DataLab.サービスをご利用頂きまして誠にありがとうございます

頂いた事象について、恐縮ですが原因の特定に至っておりません。
ついてはお手数ですが以下ご確認いただき回答いただければと思います。

/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

■後続の質問の前提として以下ご確認ください
・検証ツールで速報系オッズを取得し同様のエラーが発生するか

(検証ツールがエラーにならない場合)
・作成ツールは、新環境移植後リビルドしているか
 ツールを実行したときとビルドしたときで出力されるエラーは同様か

・構成プロパティや対象プラットフォームは旧環境と新環境で同様か

・VB2008からVisualStudio2015への移行時にエラーや警告はなかったか


(検証ツールもエラーになる場合)
・JV-Link再インストールで事象が解消するか

・新旧環境の.NET Frameworkのバージョン値

/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

以上、よろしくお願いいたします。

タイトル新環境でのエラーについて
記事No5199   [関連記事]
投稿日: 2017/11/08(Wed) 21:47
投稿者ようか
いつもお世話になっております。
PCを買い換えて、開発したツール(リアルタイムでオッズを一括取得するツー
ル)を
新環境で動かそうとしたところ、旧環境では問題なく
使用できていたツールが下記エラーで異常終了するようになりました。

原因がわかるようでしたらご教示のほどお願いいたします。

■エラーメッセージ
型 'System.AccessViolationException' のハンドルされていない例
外が AxInterop.JVDTLabLib.dll で発生しました
追加情報:保護されているメモリに読み取りまたは書き込み操作を行おうとしま
した。他のメモリが壊れていることが考えられます。


■旧環境
OS:Windows7 Home Premium 64bit
開発環境:Visual Basic 2008 Express Edition
JV-Linkバージョン:4.5.0

■新環境
OS:Windows10 Pro 64bit
開発環境:Visual Studio Express 2015 for Windows Desktop
JV-Linkバージョン:4.5.1

※同一OS上に「Visual Studio Express 2013 for Windows Desktop」や
「Visual Basic 2008 Express Edition」をインストールしてみましたが
いずれのVersionでも同じエラーが発生します。

タイトルRe^2: エクセル2016での使用について
記事No5132   [関連記事]
投稿日: 2017/10/26(Thu) 10:48
投稿者えちごのりゅう
つばみさん、早速のご返事ありがとうございました。
JVLink1.JVopen の使い方よくわかりました。データ種別を4文字単位で表記す
ることが大切なんですね。
長い道のりの一歩になると思いますが、がんばってコーディングの練習をしま
す。

タイトルRe: エクセル2016での使用について
記事No5122   [関連記事]
投稿日: 2017/10/25(Wed) 16:35
投稿者つばみ
えちごのりゅうさん、こんにちは。

>dataspec

>読み出したいデータを識別するデータ種別IDを文字列として連結したもの

>指定します。1つの データ種別IDは4桁固定ですので dataspec に指定す

>文字列は4の倍数桁でなければいけません。
>option パラメータとの組み合わせで指定できないデータ種別 ID があります


JVLinkのJVOpenの仕様にはこうあります。
(JV−Linkインターフェース仕様書より)

で、JVData仕様書(Excelファイル形式)の
「データ種別一覧」(タブ)を見ていただくと、
4文字のデータ種別一覧が載っており、
どのデータ種別IDを、どのoptionパラメータで
使用すると、どういったレコード種別が取得できるか
というのが分かりやすくなっております。

で、えちごのりゅうさんの場合
「UMA_RACE」というパラメータを使用したため、
「dataspecパラメータが不正」というコード値(-111)
が返ってきました。
(JV−Linkインターフェース仕様書(pdfファイル)
の52ページにJVOpen時の戻り値が一覧になっています)

dataspec は 「TOKU」や「RACE」など指定されたものになります。
(複数指定したい場合、「TOKURACE」のように普通につなげれば
OKです)

Excelでのプログラミングは分かりませんが、
JVLinkではそのようになっております。

頑張ってください。

タイトルエクセル2016での使用について
記事No5118   [関連記事]
投稿日: 2017/10/25(Wed) 12:11
投稿者えちごのりゅう
初めて質問させていただきます。
近頃エクセル2016を買いまして、JRA VANを使って競馬予想をしよ
うと思っています。ただ、全くの初心者なので、JVLinkの使い方がよくわかりま
せん。
貴社のソフトのなかで、エクセルを使用した例がありましたので、それをまね
ながらソフトを作ったのですが、いきなり最初のJVLink1.JVOpen(…)のところで
エラーが返ってきました。
貴社のオリジナルのコードでは、
JVLink1.JVOpen("RACE","20040801000000",1,readcount,
dlcount,lastfiletimestamp) となっている部分を次のように変えました。
JVLink1.JVOpen("UMA_RACE","20040801000000",1,readco
unt,dlcount,lastfiletimestamp) としました。
そして実行したところ、この部分でエラーが発生して、エラーコードが-111で
した。どの部分がおかしいのでしょうか。

これと同じようなケースがないか、過去ログで調べたのですが、このような基
本的な質問がなかったので、質問箱に質問させていただきました。よろしくお願
いいたします。

タイトルRe^2: オッズ1データに関して
記事No4698   [関連記事]
投稿日: 2017/10/11(Wed) 16:54
投稿者つばみ
> > 発売前に1番が取り消しました。
> > この時点での単勝複勝枠連の発売フラグは、全部「1」になると
> > 認識でよろしいでしょうか?
> 発売フラグに関しましてはレース毎のため「7」のままとなります。

ありがとうございます。

> > また発売後に2番が取り消しました。
> > この場合(発売前取消があったときの発売後取消も発生した場合)
> > 単勝複勝枠連フラグはそれぞれ何になるのでしょうか?
> > 「1」?「2」?
> 発売フラグにつきまして、
> 「0」:発売なし、「1」:発売前取消、「3」:発売後取消、「7」:
発売
> あり
> かと存じますが、「2」とはどこを指しておりますでしょうか。

これは私の間違いです。「2」ですね。失礼しました。

回答ありがとうございました。

タイトルRe: JVRTOpenのタイムアウト値
記事No4696   [関連記事]
投稿日: 2017/10/11(Wed) 13:41
投稿者JRA-VANソフトサポート
JRA-VANソフトサポート 渡部です。
DataLab.サービスをご利用頂きまして誠にありがとうございます。

回答遅くなりまして大変申し訳ございません。

>JVRTOpenで、-413でエラーが返却される場合の、タイムアウト値は
>何秒でしょうか?
タイムアウト値はそれぞれ以下設定されております。
・インターネット接続時:120秒
・JVRTOpen要求の送信 :120秒
・JVRTOpen結果の受信 :120秒


>また、このタイムアウト値(秒)を、呼び出すプログラム側から指
>定することはできますでしょうか?
こちらはJV-Link側で設定している値になりますので、
呼び出し側から設定することはできません。
ご理解のほど、よろしくお願いいたします。

以上、よろしくお願いいたします。

タイトルJVRTOpenのタイムアウト値
記事No4163   [関連記事]
投稿日: 2017/09/29(Fri) 23:28
投稿者すずめ
JVRTOpenで、-413でエラーが返却される場合の、タイムアウト値は何秒でしょう
か?
また、このタイムアウト値(秒)を、呼び出すプログラム側から指定すること
はできますでしょうか?

ウィンドウを閉じる