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

JRA-VAN DataLab.

競馬ソフト開発コーナー

プログラミング質問広場

本掲示板は、プログラミングに関する情報を作者様同士で共有・議論していただく場として用意いたしました。
JV-Link、JV-Dataに直接関連しない(一般論としてのプログラミング方法やAPI・メソッドの利用法などの)スレッドはこちらに立ててください。

一括表示 リストに戻る
タイトル三連単のJVDara_Structure.vb
記事No213
投稿日: 2010/10/02(Sat) 09:26
投稿者みら。
SDK3.4.0に添付されているJVDara_Structure.vbを利用してオッズ取得プログラ
ムを書いています。
単、複、枠、馬連、ワイド、馬単、3連複までは問題なく動作しています。

ところが3連単"OB036"のオッズ取得がうまくいきません。

JVData_Structure.vb内の

For i = 0 To 4895
OddsSanrentanInfo(i).SetDataB(MidB2B(bBuff, 41 + (17 * i), 17))
Next i

この部分を抜けることができないようでなのです。
「インデックスが配列の境界外です」のエラーが戻ります。

調べてみたところi=2349の時の値までは取得できています。
(OddsSanrentanInfo(2349).Kumi は 091216)
2010.09.26中山3Rで確認

このループが最後まで回らないのはどうしてなのでしょうか?
まったくお手上げで困っています。

利用している環境はWixXP(SP3) VB2008(EE)です。

タイトルRe: 三連単のJVDara_Structure.vb
記事No215
投稿日: 2010/10/05(Tue) 15:28
投稿者JRA-VANソフトサポート
JRA-VANソフトサポートの竹下です。

> For i = 0 To 4895
> OddsSanrentanInfo(i).SetDataB(MidB2B(bBuff, 41 + (17 * i), 17))
> Next i
>
> この部分を抜けることができないようでなのです。
> 「インデックスが配列の境界外です」のエラーが戻ります。
>
> 調べてみたところi=2349の時の値までは取得できています。

呼び出し元から渡された、JVRead()で読み込んだデータを格納する為の変数"bBuff" の
バッファサイズが足りていない可能性があります。

JVData仕様書にも記載がございますように、3連単オッズのレコード長は 83285バイト ですので、
データ格納バッファサイズも、ストリング終端文字1バイトを含めた83286以上の値が必要になります。
(ご参考までに、サンプルプログラムではバッファサイズを110000としています)

大変お手数ですが、JVRead()実行前に宣言した、データ格納用変数のバッファ
サイズをご確認いただけますでしょうか。


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


> SDK3.4.0に添付されているJVDara_Structure.vbを利用してオッズ取得プ
ログラ
> ムを書いています。
> 単、複、枠、馬連、ワイド、馬単、3連複までは問題なく動作しています

>
> ところが3連単"OB036"のオッズ取得がうまくいきません。
>
> JVData_Structure.vb内の
>
> For i = 0 To 4895
> OddsSanrentanInfo(i).SetDataB(MidB2B(bBuff, 41 + (17 * i), 17))
> Next i
>
> この部分を抜けることができないようでなのです。
> 「インデックスが配列の境界外です」のエラーが戻ります。
>
> 調べてみたところi=2349の時の値までは取得できています。
> (OddsSanrentanInfo(2349).Kumi は 091216)
> 2010.09.26中山3Rで確認
>
> このループが最後まで回らないのはどうしてなのでしょうか?
> まったくお手上げで困っています。
>
> 利用している環境はWixXP(SP3) VB2008(EE)です。

ウィンドウを閉じる