NI製品ディスカッション

キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 

ExpressVI のフィルタ機能を使っ​たViを共有ライブラ​リ(DLL)で使用し​た場合にハングする

お世話になっております。

 

主題の件について質問させてください。

波形解析を行い、結果を判定する機能を過去にLabView8.5で開発しており、

共有ライブラリ(DLL)としてDLL化させて運用しておりました。

先日、LabView8.5からLabView2015に置き換えて、同様にDLL化させて動作させたとこ​ろ、

以下のようなエラーメッセージが表示され、波形解析が行えなくなってしましました。

 

Fatal Internal Error : "memory.cpp", line 638

LabVIEW version 7.1

You will lose any unsaved work. For assistance in resolving this problem, please relaunch LabVIEW, or contact National Instrument.

 

ログを仕掛けて解析したところ、どうやら

ExpressVIのフィルタ機能(移動平均)の箇所でハングしているようでした。

(ここでは、22000点の倍精度のデータに対して平滑化処理をかけています。)

 

 

LabView上のデバッグでは、現象が発生せず、

DLL化して別exeから呼んだときに発生するため、何が原因か全く

見当がつきません。

 

以下に動作環境を示します。

OS:Windows Embedded Standard 2009

 

この問題が発生する原因についてご教示いただけますでしょうか。

0 件の賞賛
メッセージ1/3
3,152件の閲覧回数

ばっふぁろー 様

 

Fatal Internal Errorの経験は無く(ビルドエラーとか他でランタイムエラーはありましたが)
フォローなってないですけどよろしゅう。

 

ネットで検索してみましたところ、内部エラーのようですが
内容がよくわからんです(英語ばっかで・・・)

 

後、何故エラーメッセージの内容に「LabVIEW version 7.1」が?って感じです。

 

①LabView2015で一から作り直してみる?(念のためパッチ等を確認)
②念のためexe側からの呼び出しあたりをおっかける・・・

 

ダメ元でやってみるぐらいしか思いつきません(ぺこ)

 

経験者とかじゃないと反応出来ないような気もします。
可能な範囲でプログラムをUp(するなら8.5の方で)してみるとか?

 

【Fatal Internal Error: memory.cpp, line 638 】
http://forums.ni.com/t5/LabVIEW/Fatal-Internal-Error-memory-cpp-line-638/td-p/307588

 

【上記Dynamikさんの発言中のアドレス】
http://forums.ni.com/t5/LabVIEW/Fatal-Internal-Error-quot-memory-cpp-quot-line-638/m-p/170746?requir...

 

LabVIEW内部エラー(Failure in XXX.c / XXX.cpp at line YYY)←NIのホワイトペーパー の日本語・・・
http://search.ni.com/nisearch/app/main/p/bot/no/ap/global/lang/ja/pg/1/q/labview%20memory.cpp/scope/...

 

0 件の賞賛
メッセージ2/3
3,079件の閲覧回数

ばっふぁろー さん、こんにちは。

 

私もFatal Internal Error を経験してないですが、結局内部的に解析のExpress VIがLabVIEWのDLLを参照していると思います。

 

DLLを作成する際に、その内部のDLLが入って来ないはずですので、

別のLabVIEWのバージョンにアップグレードしたところではもしかして参照が変わってしまって、実行できなくなっていると想像します。

 

su-sann5073さんのアイディアを賛成します。LabVIEW 2015でそのDLLを再作成を試した方がいいと思います。

 

よろしくお願いします。

 

 

0 件の賞賛
メッセージ3/3
3,072件の閲覧回数