JV-Link 質問箱 |
タイトル | : JVGets()のメモリ解放に関して |
記事No | : 9372 |
投稿日 | : 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()のメモリ解放に関して |
記事No | : 9387 |
投稿日 | : 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行目
以上、よろしくお願い致します。 |
|
|
|
copyright ©2007 JRA SYSTEM SERVICE CO.,LTD. All Rights Reserved.
|
|
|