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

JRA-VAN DataLab.

競馬ソフト開発コーナー

JV-Link 質問箱

一括表示 リストに戻る
タイトルJVGetsの動作の確認
記事No8509
投稿日: 2015/11/03(Tue) 16:11
投稿者IA
JVGetsメソッドを使用してサンプルコードを一部変更したものがうまく動かなく
困っています。

全てのレッスン終了時のサンプルコードを以下のように書き換えました。(書
き換えた部分に★をつけています)
(ただしDBはSQLを使用しております。)

[変更部のソース]

(サンプルコード)
'★追加部
Dim bytBuff() As Byte '' JVGets用バッファ
'★追加部終了
(サンプルコード)

'バッファ作成
strBuff = New String(vbNullChar, lBuffSize)
strFileName = New String(vbNullChar, lNameSize)
'JVRead で1行読み込み★書き換え部分のため削除
'lReturnCode = Me.AxJVLink1.JVRead(strBuff, lBuffSize, _
'strFileName)
'★削除終了 以下追加部
'★追加部
lReturnCode = Me.AxJVLink1.JVGets(bytBuff, lBuffSize, _
strFileName)

strBuff = System.Text.Encoding.GetEncoding(932).GetString(bytBuff)
'★追加部終了

(サンプルコード)

[環境]
OS:Windows7(64bit)
開発言語:VB.net
開発環境:Visual Studio Express2013 for Windows Desktop
DB:SQL Server 2014
JVLink Version:4.4.0

[想定内容と実動作]
・想定
 JVGetsメソッドを実行するとbytBuffにbyte型で表したレコード1行が設定さ
れる

・動作
 bytBuffに何も設定されずNothing(のまま?)となるため、strBuffにString
型のレコード1行が設定されない

JVGetsメソッドの仕様に何か誤解があるのでしょうか?それともコードの記述
に問題があるのでしょうか?コードに問題がある場合は解決策も提示していただ
けると幸いです。

回答をよろしくお願いいたします。

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

タイトルRe: JVGetsの動作の確認
記事No8523
投稿日: 2015/11/09(Mon) 13:57
投稿者JRA-VANソフトサポート
JRA-VANソフトサポートの竹下です。
DataLab.サービスをご利用頂きまして誠にありがとうございます。

ご記載いただいたソースを拝見させていただいた限りで回答させて
いただきますと、バイト配列変数"bytBuff()"が初期化されていない
事が原因であると考えられます。

例えば、bytBuff()宣言時に、

Dim bytBuff() As Byte = New Byte() {}

のように初期化も同時に実施すれば、JV-Dataの内容が読み出せるか
と思われます。
(あくまで一例ですので、参考程度にお考えください)

バイト配列変数初期化の詳細につきましては、下記のような
Microsoftのページや書籍等を参考にしていただければと
思います。

■配列変数の宣言
https://msdn.microsoft.com/ja-jp/library/cc436629(v=vs.71).aspx


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

タイトルRe^2: JVGetsの動作の確認
記事No8527
投稿日: 2015/11/10(Tue) 15:58
投稿者IA
ご回答ありがとうございます。

上記の記述で無事に動くようになりました。
しかしプログラムを走らせると2時間程度経過したところで”JVDTLabLib.dll内
でのエラー”の記事で書かせていただいたエラーが出てしまうようです。

こちらのエラーについては”JVDTLabLib.dll内でのエラー”の記事にまとめて
いただいてかまいません。

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

ウィンドウを閉じる