情報詳細Q:HALCONライセンスが無い状態で、例外を発生させることなくドングルの有無をチェックする方法はありますか?A:get_system_infoオペレータを使用します。get_system_infoオペレータはライセンスエラーを発生させることなくHALCONシステムについての問い合わせを行えます。使用例は次のC++サンプルコードをご確認ください。ライセンスのない状態ではget_system_info以外のHALCONオペレータを使用すると例外が発生するため、文字列の合致などは言語標準の機能を使用します。 #include <iostream> #include <string> #include <HalconCpp.h> using namespace HalconCpp; using namespace std; int check_dongle_exists() //ドングルがあれば正常終了:0 { HTuple host_ids; GetSystemInfo(HTuple("hostids"), &host_ids); for (size_t i = 0; i < host_ids.Length(); i++) { auto str = string(host_ids[i].S()); //cout << str << endl; if (str.find("3-") != std::string::npos) return 0; } return 1; } int wait_dongle_connection(__int32 retry_count, DWORD dulationms) { for (size_t i = 0; i < retry_count; i++) { if (check_dongle_exists() == 0) return 0; Sleep(dulationms); } return 1; } int main() { cout << wait_dongle_connection(10, 1000) << endl; } 類似の応用例で、「ライセンスが通るか」をチェックしたい場合はget_system_info('is_license_valid', IsValid)を使用します。 添付ファイルタイトルHALCONライセンスが無い状態で例外発生なくドングルの有無をチェックする方法URL 名000010874公開状況公開済み検証状況検証済み