NI製品ディスカッション

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

アプリケーションビルド時にエラー7発生

お世話になっております。
 
API関数(Windows API Function Utilities (32-bit) for LabVIEW)を使ったソフトをビルドすると
”エラー7”(ファイルが見つかりません)が発生します。
 
LVWUtil32.dllとその他のLLBは”C:\Program Files\National Instruments\LabVIEW 6.1\user.lib”配下に
配置して使っており、VI群は正常に動作しますが、アプリケーションビルダーでビルドボタンを押下するとエラー7が発生する状況です。
 
尚、”現在のVIのパス”関数は使用していません。  また、各VIのパスはビルド画面の”VI設定”タグで正常を確認済です。
 
Q1、どのファイルが見つからないのか確認する方法はありますか?
Q2、また、ビルド設定で追加するファイル(ダイナミックVI)などありますか?
 
以上、どうぞ宜しくお願い致します。
 
 
 
0 件の賞賛
メッセージ1/8
4,878件の閲覧回数
お世話になっております。
 
追加でわかったのですが、ビルド時ソースファイルタグの”インストール先カスタマイズ”で
LVWUtil32.dllのソースファイルのパス名が”D:\lv401nt4\LVWUtil\LVWUtil32.DLL”となっていました。
                              (添付画像の表示と同じパス名)
実際には”C:\Program Files\National Instruments\LabVIEW 6.1\user.lib”配下にあるのですが
修正するにはどうすればよろしいでしょうか?
 
よろしくお願いします。
0 件の賞賛
メッセージ2/8
4,860件の閲覧回数
drive様、

平素より弊社製品をご使用いただきまして誠にありがとうございます。
日本ナショナルインスツルメンツ技術部の荒瀬と申します。¥

お問い合わせいただきました件につきまして以下のようにお答えさせていただきます。

まずご確認いただきたいのですが、DLLファイルがサポートファイルとして追加されていますでしょうか。
されていない場合は、ビルドプロパティのソースファイルタブにて「サポートファイルを追加」を選択し、DLLを追加してください。

お手数ですが一度上記をお試しいただいてよろしいでしょうか。

よろしくお願い致します。

日本NI技術部
荒瀬
0 件の賞賛
メッセージ3/8
4,820件の閲覧回数
荒瀬殿、お世話になっております。
 
現状は”最上位VIを追加”するだけで異常パスのDLLが設定されている状況です。
  (インストール先のカスタマイズ画面にDLLが表示される:添付dll1.jpg)
 
「サポートファイルを追加」の件ですが、追加すると正常なファイルパスが表示されますが、
DLLが2ヶ表示されます。(これは異常なのでしょうか:添付dll2.jpg)
尚、サポートファイルを追加でDLLを追加しても、ビルド時のエラーは発生します。
 
また、別ソフトではDLLはサポートファイル追加を行わなくても正常にビルド出来ますが
これは正常なのでしょうか。
初歩的な質問とは思いますが、DLLはサポートファイル追加で指定しないと駄目なのでしょうか。
DLLを扱う場合の注意点などありましたら教えて頂きたいと思います。
 
以上、よろしくお願いします。
 
すべてをダウンロード
0 件の賞賛
メッセージ4/8
4,808件の閲覧回数
drive様、

ご返信ありがとうございます。

VIのブロックダイアグラムに恐らく配置されていると思われます「ライブラリ関数呼び出しノード」の設定をご確認いただいてよろしいでしょうか。
関数の設定で指定されているDLLがC:\lv401nt4\LVWUtilの中のDLLになっている場合は、正しいフォルダのDLLに指定しなおして下さい。
そうしていただくことによって、異常パスが消えると思われます。

DLLはサポートファイルとして追加することは必ず必要ではございませんが、ビルドしていただいた際にEXEファイルと同じフォルダに
DLLがコピーとして出力されますので、別のPCにて実行されるときにDLLのコピー漏れを防ぐことができます。

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

日本NI技術部
荒瀬
0 件の賞賛
メッセージ5/8
4,776件の閲覧回数
お世話になっております。
 
ご連絡ありがとうございます。 「ライブラリ関数呼び出しノード」を確認したところ Windows API Function Utilitiesの
Get Window RefNum.viの中で使用しているもののパス名が”user32.dll”だったので”C:\WINNT\system32\user32.dll”に
変更しましたが、結果は変わりませんでした。(添付ダイヤグラム.jpg、構成.jpg、lvwutil32.jpg参照)
 
その他の「ライブラリ関数呼び出しノード」のパス名は問題ありませんでした。
 
尚、Get Window RefNum.viはPostMessage Master.viとセットで起動中アプリを終了する為に使用しています。
これらのVIを削除すると ビルド時のエラー7は発生しませんでした。
 
以上 よろしくお願いします。
すべてをダウンロード
0 件の賞賛
メッセージ6/8
4,769件の閲覧回数
drive様、

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

先ほどはお忙しいところお電話いただきましてありがとうございます。

ご参考までに解決策をまとめさせていただきます。

PostMessage Master.viの「ライブラリ関数呼び出しノード」にて元々のパスが異常パス(d:\lv4nt...)で設定されており、
drive様の方で正しいパスに変更していただいていたにもかかわらず、何らかの原因で反映されておりませんでした。

そこで、強制的にVIのパス設定の妥当性などを再チェックするためにCtrl-Shift-実行ボタンで強制コンパイルしていただき、
VIを保存しなおしていただいたところ、ビルド設定で正しいパスが表示されるようになりました。

お手数をお掛けして申し訳ございません。

何か他にご質問などございましたらご返信いただきますようお願い致します。

日本NI技術部
荒瀬
0 件の賞賛
メッセージ7/8
4,759件の閲覧回数

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

お忙しい所電話対応までお願いして申し訳ありませんでした。

おかげ様で正常にビルド出来るようになりました。 ありがとうございました。

 

0 件の賞賛
メッセージ8/8
4,758件の閲覧回数