10-14-2010 04:43 AM
LabVIEW2010体験版でLabVIEWの機能確認をしております。
LabVIEWで持っている機能をVC++から利用できるかを確認するために、
LabVIEWでDLLを作成して、それをVC++(6.0)から呼び出すプログラムを作成しました。
ところがVC++側のプロジェクト設定を
・Microsoft Foundation Classを「共有DLLでMFCを使用」 に設定し(一般タブ)、
・使用するランタイムライブラリを「マルチスレッド(DLL、デバッグ)」 に設定(C/C++タブ)
の状態にしないと、実行時に以下のエラーが出てしまいます。
(どちらかをしないだけで同じエラーが出ます)
×システムエラー:998がLabVIEWランタイムエンジンのロード中に発生しました
(D:\・・中略・・\LabVIEWRun-Time\2010\\lvrt.dll)。
○○○○は、バージョン2010(または互換のバージョンの)LabVIEWランタイム
エンジンが必要です。この問題を解決するには、○○○○の製造元へご連
絡下さい。
上記メッセージ中の○○○○は、VC++で作成したアプリケーション名です。
ランタイムライブラリを「DLL、デバッグ」に設定するということは、デバッグ用の
MFCライブラリを使用するということになると思います。
上の設定をすると、リリースモードでも実行できるのですが、
これをリリース用のライブラリを利用できるようにはできないでしょうか。
また、できればMFCのライブラリはスタティックリンクさせたいのですが、
もしそちらもわかる方がいらっしゃいましたら、お教え下さい。
解決済! 解決策の投稿を見る。
10-17-2010 08:59 AM
いんぱるす様
いつもお世話になっております。
日本ナショナルインスツルメンツ技術部の巳波と申します。
今回のエラーはディスカッションフォーラムの別のスレッドで報告されておりました。
System Error 998 While loading the Labview Run-Time Engine:
エラーの回避策につきまして、上記のスレッドでリンクされている下記のスレッドの最後の投稿に記載がございます。
Not found error message from LabVIEW runtime when called from VC++ with statically linked MFC:
「delayload」(遅延読み込み)機能を使用する3つ目の回避策は、「Link」タブの「Object/library modules:」の欄に「delayimp.lib」を追加し、「Project Options:」の欄に「/delayload:(DLL名).dll」 を追加する方法です。
delayload オプションの詳細につきましては VC++ のヘルプをご参照ください。
宜しくお願い致します。
10-17-2010 08:52 PM
巳波様
ご教示頂いた方法で、うまくいきました。ありがとうございました。