NI製品ディスカッション

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

exeビルド時のエラー、開かれたら実行しないに設定出来な

Labview8.2を使用しています。exeビルドのソースファイル設定のVI設定で、”開かれたら実行する”を解除しても、できあがったアプリケーションは、実行してしまう。非実行型にしたい。
0 件の賞賛
メッセージ1/6
4,979件の閲覧回数

 EXEファイルで開かれても何もしない、ということはありえないと思います。あらゆるアプリケーションは開かれると何らかの処理を行うものです。例えばエクセルを開くと最初の画面を表示する処理がなされ、ユーザーが何もしなければ何も変化しません。が、処理としてはキーボードが押されたか、マウスが動かされたかを常時モニタし、変化してもいない画面をリフレッシュするという処理をし続けています。開かれても何もしないのであれば、初期画面も表示しないということになります。

 恐らく、貴方が実現したいのは、ユーザーが何か操作をするまで待機している、ということではありませんか。だとすれば、ブロックダイアグラムの最初にWhileループをおいて、停止ボタンを押すとWhileループが終了して処理が始まるというようにすると良いでしょう。一番最初にWhileループを実行させる方法はWhileループの中にエラー定数でもおいて、処理する関数のエラー入力をこのエラー定数に接続すると、エラー配線された関数はWhileループが終わるまで実行されません。全ての関数のエラー入出力を直列に配線すると関数の実行順位を決めることも出来ます。

 もう一つの方法はシーケンスストラクチャで最初のフレームにこのWhileループを入れておくという方法です。この場合次に述べる待機関数以外を入れる必要はありません。

 なお、Whileループの中には待機関数を配置して数ミリ秒、待機させるようにしてください。でないとWhileループが間断なく回ってCPU負荷が極端に上がって、キー入力やクリックが中々認識されない状態になります。

0 件の賞賛
メッセージ2/6
4,946件の閲覧回数

「新人です。」さんへ

 

LabVIEW 8.0 から LabVIEW 8.2 へアップグレードした際に生じるバグに同様の問題があるようです。
http://digital.ni.com/public.nsf/allkb/C7256184E0BAFAE0862572B5002DE456

 

上記 URL を読むと、LabVIEW 8.2.1 で修正されているようです。
また回避方法も書かれていました。

 

「書かれていた回避方法」
「開かれたら実行する」の設定については、ビルド仕様プロパティの上級カテゴリにある「デバッギングを許可」と「デバッガが起動するのを待機」の両方にチェックを入れて下さい。このチェックにより、回避可能であると共に、VIのブロックダイアグラムと外部コードをデバッグツールサポートとしてアプリケーションに含みます。

 

上記の方法は VI のブロックダイアグラムが実行ファイルに含まれてしまう方法ですので、可能ならば LabVIEW をアップグレードした方が良いと思います。

 

以上、ご参考までに。

 

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

まだ解決されていないみたいですね.

LabVIEW2013

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

はじめまして。

私の環境では(2013SP1)問題なく「開かれたら実行しない」にチェックを入れることで

exe時に実行ボタンを押さないと動作しないアプリケーションを作成できました。

 

KoutenY様のおっしゃる通り、既に解決されているのではと思いましたが、QDO様いかがでしょうか。

メッセージ5/6
3,435件の閲覧回数

あ,できました.失礼しました.

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