情報詳細Q:HdevEngineの引数をまとめる方法はありますか?A:Library Exportという機能がございます。この機能を使用することによりGetするようなコードを記入することなく、HdevEngineを関数として使用することができる機能です。サンプルプログラム(Library Export sample.zip)を添付いたしましたので、あわせてご確認ください。【作成方法】1)プログラムを作成後、「ファイル」タブの「ライブラリプロジェクトのエクスポート」をクリックします。2)「ターゲット言語」を「C#」などに選択します。3)出力先のプロジェクト名や、名前空間を設定いただきます。(ご自身が分かりやすい名前であれば問題ありません)4)設定完了後、エクスポートします。5)プロジェクト場所に保存されており、「source」ファルダ内にソースファイルが作成されております。6)作成されたソースファイルを、visualstudioに追加します。(ソリューションエクスプローラーから右クリックにより追加の既存の項目より追加します)7)ソースファイルが追加された後、エクスポートの際に作成されている「reg_(プロジェクト名)」のファイルをHdevEngineと同じようにプロジェクト内にコピー&ペーストします。8)エクスポートの際に名前空間の設定をした通りに、Form1.csのようなフォームのCSファイルに名前空間を追加します。(名前空間がinitialであった場合)例)using initial;9)最後に、使用したいプロシージャの名前を下記のように記入することで使用可能です。例)名前空間initialのクラスがinitial_programのinit_windowというプロシージャの場合) 'initial_program.init_window(out Image, FileName, 0.5, out Pointer, out Type, out Width, out Height, out WindowHandle);'※Library Exportの場合、初回にライブラリを呼ぶため少し時間がかかります。初期化の際にライブラリを呼ぶ仕組みを追加すると良いかと思います。サンプルプログラム:Library Export sample.zipにあるForm1のコードをご確認いただければと思います。※get_versionというクラスは別途作成しております。例) //ライブラリエクスポートを使用する場合にライブラリの呼び出しを一度実行する //HALCONのバージョンを取得 get_version.get_halcon_version(out Information); label1.Text = "Halcon version : "+Information;【Library Exportを使用する際の注意点】HALCON18.11 steadyの場合C#の場合、Library Exportを使用する場合、初回の呼び出しの時動作が遅くなります。初期化の時にLibrary Exportを一度呼び出しを行うことで改善いたします。これはLibrary Exportを実行する際に下記のコードが一度だけ呼ばれて、インスタンス化しているためです。 private static void AddResourcePathToProcedurePath() { lock(_procedure_path_lock) { if(!_procedure_path_initialized) { new HDevEngine().AddProcedurePath(ResourcePath); _procedure_path_initialized = true; } } } 添付ファイルLibrary Export sample.zipタイトルLibrary Exportの作成方法と使用する際の注意点(C#)HALCON18.11 steadyの場合URL 名000005271公開状況公開済み検証状況公開済み