JV-Link 質問箱 |
タイトル | : JVGetsの動作の確認 |
記事No | : 8509 |
投稿日 | : 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の動作の確認 |
記事No | : 8523 |
投稿日 | : 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の動作の確認 |
記事No | : 8527 |
投稿日 | : 2015/11/10(Tue) 15:58 |
投稿者 | : IA |
|
ご回答ありがとうございます。
上記の記述で無事に動くようになりました。 しかしプログラムを走らせると2時間程度経過したところで”JVDTLabLib.dll内 でのエラー”の記事で書かせていただいたエラーが出てしまうようです。
こちらのエラーについては”JVDTLabLib.dll内でのエラー”の記事にまとめて いただいてかまいません。
以上、よろしくお願いいたします。 |
|
|
|
copyright ©2007 JRA SYSTEM SERVICE CO.,LTD. All Rights Reserved.
|
|
|