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

JRA-VAN DataLab.

競馬ソフト開発コーナー

JV-Link 質問箱

新着記事 リストに戻る
タイトルJVLinkモジュールの設定(Excel応答なし)
記事No6288   [関連記事]
投稿日: 2018/06/18(Mon) 11:12
投稿者VBAオンチ
お世話になります。
以前からExcel VBAでJVDataを利用したソフトを自作していますが、Excel2003
→Excel2010/2016に変更したら頻繁にExcelの「応答なし」が起こり、その都度E
xcelを再起動が必要となります。Excelでmdbデータベースを操作するのですが、
JVDataを読み込むときに起こりやすく、どうもJVLinkの設定の方法が一因の感じ
がしています。

初心に戻ってExcelVBAサンプルを見たところ、JVLinkモジュールをユーザーフ
ォームに貼り付けていますが、下記の質問があります。
(1)初期にJVLink1.Init("UNKNOWN")などでイニシャライズを行っ
ていますが、これはプログラムの起動時や再開時に一度行えばいいのですか。あ
るいはJVDataを読み込むたびに行うことで不具合は起こりますか。

(2)ユーザーフォームに貼り付けるJVLinkモジュールは、Excelのワークシー
トが複数あっても、どれかのシートに作ったユーザーフォームにJVLinkモジュー
ルを貼り付ければ、そのExcelブックで共通に使えますか。あるいはそれぞれの
シートごとにユーザーフォームを作り、JVLinkモジュールを貼り付ける必要があ
りますか。
(使い方例)
朝一番・・トップシートでユーザーフォーム(JvLinkモジュールあり)からその
日のJVDataを一括してダウンロード。
各レースは場所ごとのワークシート(JVLinkモジュールなし)で個別のJVDataを
読み込む。このときに「応答なし」が起こりやすい。

(3)各シートにユーザーフォームを作り、それぞれにJVLinkモジュールを貼
り付けると何か不具合がありますか。

(4)ユーザーフォームではなく、ワークシートに直接貼り付けることはでき
ますか。(ワークシートごとにユーザーフォームを作るのが煩雑)

いつの頃から忘れましたが、今までは(Excel2003)、JVLinkモジュールを使わず
にコード内で初期設定を行う方法で行けてましたが、mdbで呼び出すたびにJVlin
k.Initを行うようにしているせいか、この反応が遅いのかJVDataをダウンロード
しようとするときに「応答なし」が起こるようです。JVLinkモジュールを初期起
動時のユーザーフォームに貼り付けて見たところ、多少改善されましたが、別の
ワークシートでJVDataを呼び出すとやはり「応答なし」が起こったり、起こらな
かったり。

Excel2016に変更したら、かえって動作が不安定になってしまい、何が要因か悩
んでいます。何かアドバイスをいただければ幸いです。よろしくお願いします。

タイトルRe: セットアップ中に中断した際の再開について
記事No6287   [関連記事]
投稿日: 2018/06/18(Mon) 11:04
投稿者JRA-VANソフトサポート
JRA-VANソフトサポートの渡部です。
DataLab.サービスをご利用頂きまして誠にありがとうございます。

JV-Linkインターフェース仕様書の以下記述におけるJVSkipの処理を
省いて中断した箇所から再開したい、という内容でよろしいでしょうか。

■JV-Linkインターフェース(Win版)仕様書(Ver.4.5.1)
https://jra-van.jp/dlb/sdv/sdk/JV-Link451.pdf
17ページ JVOpenのlastfiletimestampの説明

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

・セットアップデータの中断・再開
最後に読込んだファイル名を保持し、再開時には前回と
同じパラメータにて JVOpen を行い、保 持している
ファイル名まで JVSkip を行う事でJVRead/JVGets を
再開することができます。

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

上記の場合は以下の通り対応が可能です。

中断時のm_CurrentFileTimeStampをJVOpenのfromtimeに
設定することで中断したタイムスタンプ以降から
処理を再開することが可能かと存じます。


ただし、作成いただいているプログラムの仕様等
わかりかねますので当記載は参考程度とご認識ください。


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

タイトルセットアップ中に中断した際の再開について
記事No6286   [関連記事]
投稿日: 2018/06/10(Sun) 03:42
投稿者yy
ファイルが切り替わる際にm_CurrentFileTimeStampにてタイムスタンプを保持す
ることで、セットアップの途中再開が行えるかと思いますが、切り替わるまでの
データ量が多く、処理時間も長くなってしまうため、もっとこまめに途中再開を
行いたいと考えております。
なにか方法はないでしょうか?

タイトルRe: リステッド競走
記事No6285   [関連記事]
投稿日: 2018/05/31(Thu) 13:59
投稿者JRA-VANソフトサポート
JRA-VANソフトサポートの鏡です。
DataLab.サービスをご利用頂きまして誠にありがとうございます。

> 来年からリステッド格付けが始まるようですが
> データ上の扱いと提供開始時期について教えてもらえますでしょうか?

リステッド競走について、DataLab.サービスでもデータの提供を予定しており
ますが、現時点で詳細は未定となっております。

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

タイトルリステッド競走
記事No6284   [関連記事]
投稿日: 2018/05/27(Sun) 16:54
投稿者おぐら
来年からリステッド格付けが始まるようですが
データ上の扱いと提供開始時期について教えてもらえますでしょうか?

タイトルRe: SEHException
記事No6280   [関連記事]
投稿日: 2018/05/20(Sun) 19:13
投稿者drafear   <drafear@outlook.com>
失礼いたしました. 自己解決です.
メモリリークの疑いについて, こちらの問題でした.
Marshal::StringToHGlobalAnsi により生成したオブジェクトのメモリをMarsha
l::FreeHGlobalにより解放すべきところをしておりませんでした.
(ただ, なぜ今までエラーが出ず上手く動いていたのかわかりません)

タイトルSEHException
記事No6279   [関連記事]
投稿日: 2018/05/20(Sun) 15:58
投稿者drafear   <drafear@outlook.com>
JVLinkを2年ぶりくらいに最新版にアップデートしたところ, 昔とプログラムは
変更がないのに長時間起動しているとJVRTOpenやJVRead時にSEHExceptionが出る
ようになりました

おそらく, どこかのタイミングでメモリの解放が上手くできていないように思
えるのですが調査していただけませんでしょうか

なお, 開発環境はC++/CLIになります

タイトルRe^2: プロバイダの設定
記事No6278   [関連記事]
投稿日: 2018/05/15(Tue) 10:36
投稿者buraimax
アクセス違反になり,エラーで処理できませんでした...

タイトルRe: プロバイダの設定
記事No6277   [関連記事]
投稿日: 2018/05/14(Mon) 14:04
投稿者buraimax
自己解決です.

まず,以下をインストールしました.
https://www.microsoft.com/ja-jp/download/details.aspx?id=13255

プロバイダを
Microsoft.ACE.OLEDB.16.0
から
Microsoft.ACE.OLEDB.12.0
に変更しました.

タイトルプロバイダの設定
記事No6276   [関連記事]
投稿日: 2018/05/10(Thu) 10:00
投稿者buraimax
サンプルプログラムの「登録クラスVC2015」を実行したところ
「プロバイダーが見つかりません。
正しくインストールされている可能性があります。」
と出ました。

どのように解決すればよいでしょうか

Windows 10 Pro
Access 2016インストール済み
開発環境はVisual Studio Community 2017 Ver. 15.6.7

ウィンドウを閉じる