masa
1
JVOpenを複数回実行しようとした場合、JVInit、JVCloseについてご教授ください。
【質問1】
以下の様に、JVCloseを行う前にJVOpenを何度も行ってもよいのでしょうか?
①JVInit
②JVOpen~JVRead
③JVOpen~JVRead
④JVClose
もしくは、再度JVOpenを行いたい場合、一度JVCloseを行うのでしょうか?
①JVInit
②JVOpen~JVRead
③JVClose
④JVOpen~JVRead
⑤JVClose
【質問2】
JVInitは、JVCloseを行った後、再実施しないといけないものでしょうか?
masaさん、こんばんは。
まず、JVInitですが、インターフェース仕様書に
※アプリケーションの初期化時に呼び出しを行ってください。JVOpen あるいはJVRTOpenの都度 呼び出す必要はありません。
とありますので、アプリ起動時に1度しておけば特に問題ない筈ですね。
自分の場合、基本的にそれがファイルでもなんでもなんですが、Openして処理完了後にはCloseします。あえて、JVOpen~JVReadした後にJVClose無に次のJVOpenって考えは何か理由があるのでしょうか? 自分自身は試してませんので、その場合の動作がどうなるのかは不明ですが、自分はJVOpen~JVCloseをセットにしてその間にJVRead(またはってか自分はJVGetsですが、)またはJVSkipなんかもする感じです。
ファイルI/O的に開けたら閉めるのは基本だと自分は思ってます。
masa
3
SameNoEsaさん、こんばんは。
JVInitの件、アプリ起動時に1度だけで理解いたしました。
ファイルクローズの件は、速度的に遅くらないかなと思ったので、
開きっぱなしでもよいかなと思った程度です。
基本は、1ファイルずつのオープン、クロースで行こうと思います。
どうもありがとうございました。
masaさん、あくまでもまだまだな自分の話なので参考程度で…
ここの掲示板がリニューアルしたので過去ログが探し辛く、すごく参考になる話が沢山ありました。その中に効率よくJV-Dataを取込む話もありました。そんな中で自分が記憶しているのは、優れた知識を持った方はフルセットアップにってか、まあ、若干数年前になるし比較は微妙ですが、物凄い速さで可能と言ってました。自分のは現状2時間程度まで改善はしましたが、まだまだですね^^; これ、例えば、セットアップ時に全てを指定しないで、RACE、DIFN等のデータ種別IDを一括で指定も可能ですが、確か一括にしない方が効率が良いって話とか、期間も一気に例えば1986年から現在までとかではなく、区切って、自分は1か月毎に区切ってますが、その方が効率が良いとかの話がありました。自分の記憶や話の読解力の違いは有るかも知れません。自分自身はそれ程検証とかはしてません。ただ、自分のアプリが改善したので現状で満足っていうか、これ以上は自分の技量ではって、まあ、諦めてもいます。
JVCloseの処理自体よりも、そもそもJV-Linkの癖的なというか、動作由来からのネックを考慮してJVOpenして、該当データに対処するのが効率が上がる秘訣なんだと思います。
あまり参考にならない話かと思いますm(__)m 当時自分にアドバイスして頂いた方達が適格な話をしてくれるか、ここには一応過去ログもあるみたいなので探してみる価値はあるかもです。なんにしても、上手く行くと良いですね! 頑張ってください^^
追記
ちょっと過去ログをざっくりと見てみましたが、該当の過去ログは復元されてない感じです。ここのスタッフ、過去ログを何かのミスで紛失した事もありますし、ここの過去ログの量からして以前の過去ログはほとんど復元されてないのかも? もしくは、自分が過去ログの探し方を理解してないのかもですm(__)m
「いいね!」 1
masa
5
SameNoEsaさん、こんばんは。
過去ログを見つけにくい中、進めております。
まだ、検証段階ですが、期間を区切って実施すれば、スピードは大丈夫そうです。
どうもありがとうございました。
**SameNoEsa**さん、横から失礼します。この記事のことでしょうか?
もしかしたら同じような疑問を持つ方が出るかもしれないので、念の為共有しておきます。
「いいね!」 1
takeshiさん、こんばんは。
懐かしい書き込みです^^ これは自分は見つけられなかったorz やはり、自分の検索能力がってか、過去ログを辿る方法が分かってないかもですね。滅茶苦茶感謝です!