なぜVIを実行形式にするとファイルのRead/Writeができないのでしょうか 使用ソフトウェア: LabVIEW Development Systems>>Full Development System使用ソフトウェア・バージョン: N/A 使用ソフトウェア・バージョンに特化: N/A 二次のソフトウェア: N/A ハードウェア: FieldPoint>>Controllers/Network Modules
問題: FieldPointを使用しています。実行ターゲットとしてFieldPointを選んだときは、ファイルのReadとWriteは行えました。しかし、VIを実行形式にビルドし、EXEをFieldPointコントローラに移動(例えば、スタートアップEXEとして設定)した場合は、ファイルのReadもWriteも行えません。何が悪いのでしょうか? 解決策: 実行形式(EXE形式)で適切に機能しない原因として一般的なものは、ファイルパスが正しくないという問題があります。 例えば、プログラムが存在するフォルダパスを得るための”Current VI’s Path(現在のVIのパス)”関数の後に”Strip Path(パスをストリップ)”関数を使用しているのであれば、VIとEXE形式では異なる動作をします。 今、myApp.viがC:/temp/myApp.viに存在するとします。”Current VI’s Path(現在のVIのパス)”関数の結果は、期待する結果と同じようにC:/temp/myApp.viです。しかし、VIをmyEXE.exeとして実行形式にビルドした後に、”Current VI’s Path(現在のVIのパス)”関数を使用すると、C:/temp/myEXE.exe/myApp.viを返します。EXEが存在するフォルダのパスを得るためには、”Strip Path”を2度使用する必要があります。 したがって、FieldPointコントローラで実行形式のプログラムを使用した場合、ファイルのRead/Writeを行うためのファイルパスの指定には、以下の2つの方法が挙げられます。 1)ファイルのフルパスを定数として記載する。(つまり、”Current VI’s Path(現在のVIのパス)”関数を使用しない) 2)EXEが存在するフォルダパスを得るために”Strip Path”を2回使う。 関連リンク: KnowledgeBase 2REH3DP6: FAQs on File I/O with the FP-20xx Modules KnowledgeBase 2QMEG8KT: Memory Definitions for FP-20xx: Nonvolatile, CompactFlash, DRAM, User Accessible 添付:
報告日時: 03/18/2005 最終更新日: 09/09/2005 ドキュメントID: 3JHBALPH |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
