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

JRA-VAN DataLab.

競馬ソフト開発コーナー

JV-Link 質問箱

一括表示 リストに戻る
タイトルJVGets()のメモリ解放に関して
記事No9372
投稿日: 2016/04/27(Wed) 12:05
投稿者HR0
<開発環境>
VC++/CLI
(Visual Studio 2015 Express)
OS:Windows7

<質問内容1>
JVGets()メソッドについて、
「JV-Linkインターフェイス仕様書4.4.1版」によれば、
JVRead()と違い「JVGetsではメモリの解放を行わないので、
アプリケーション側で読み出しの度に解放する必要があります。」
と説明されています。この「メモリの解放を行わない」とは、
前後の文脈から、JVGets()の第1引数 buff のことを指している
ものと認識していますが、この認識は合っていますでしょうか。

<質問内容2>
上記質問内容1が Yes である場合ですが、
当方開発環境(VC++/CLI)では、第1引数 buff について、
JVGets()のパラメータヒントを見ると、データの型が
「Object ^%buff」と表示されますので、
表示の通りに変数を定義し(Object^ Buff とします)、
JVGets(Buff, ...) 呼出毎に delete Buff が働くよう記述した上、
アプリケーションテストしてみましたが、
Windowsのタスクマネージャを確認すると、
メモリの使用量が JVGets() の動作に比例するように増大します。
(テストしたアプリケーションを終了するとメモリは解放されます)
仕様書に記されている「アプリケーション側で読み出しの度に解放」
する方法についてなにかヒントを頂けないでしょうか。

以上

タイトルRe: JVGets()のメモリ解放に関して
記事No9387
投稿日: 2016/05/10(Tue) 13:40
投稿者JRA-VANソフトサポート
JRA-VANソフトサポートの竹下です。
DataLab.サービスをご利用頂きまして誠にありがとうございます。
回答が遅くなり大変申し訳ございません

<質問内容1>
ご認識の通りとなります。

<質問内容2>
JVGets()のメモリ解放につきましては、
下記SDKに内包されております、
サンプルプログラムをご参考いただければと思います。

JRA-VAN SDK本体
http://jra-van.jp/dlb/sdv/sdk/JVDTLABSDK442.zip

VCNET
sample1Dlg2.cpp
277〜307行目

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

ウィンドウを閉じる