外部アセンブリ
スクリプトとグローバルモジュールで外部アセンブリを使用することは可能です。標準およびコンパイルされたユーザーアセンブリの両方を使用できます。
外部アセンブリの追加
アセンブリは、以下の.Net 参照タブに追加できます:バッチタイププロパティ、プロジェクトプロパティまたは文書定義プロパティ。追加されたアセンブリの区分はすべてスクリプトやグローバルモジュールで利用できます。
バッチタイププロパティと文書定義プロパティに追加されたアセンブリは、それぞれ特別バッチタイプまたは文書定義に利用できます。プロジェクトプロパティに追加されたアセンブリは、すべてのバッチタイプと所定のプロジェクトの文書定義に利用できる共有アセンブリです。それで、異なるバッチタイプや文書定義に同じアセンブリを使用する必要がある場合、共有アセンブリを使用できます。共有アセンブリを更新しなければならない場合、プロジェクトプロパティでしか更新できません。
プロジェクトプロパティにアセンブリを追加するには、以下のようにします:
- プロジェクトプロパティの.Net 参照で、次をクリックします:追加...
- 表示されたアセンブリを追加ダイアログボックスで、以下のタイプを選択してください:標準アセンブリ名または添付ファイル。
- 選択したタイプにより、標準アセンブリ名を入力するか、またはアセンブリファイルを閲覧します。
共有アセンブリは新しく作成されたバッチタイプに自動的に追加されます。文書定義および既存のバッチタイプに共有アセンブリを追加するには、以下のようにします:
- バッチタイプまたは文書定義プロパティの.Net 参照で、次をクリックします:追加...
- 表示されたアセンブリを追加ダイアログボックスで、共有アセンブリを選択します。
- アセンブリ名を参照リストから選択します。
注:既存の標準アセンブリの名前と似た名前を持つ共有アセンブリを追加することはできません。
以下はネームスペース、クラス、このクラスのメソッドを含むユーザーアセンブリのサンプルコードです。
namespace TestNameSpace
{
public class Test
{
public void Show(string text)
{
// 標準 FlexiCapture の text は、static class FCTools ABBYY.FlexiCapture.FCTools.ShowMessage(text, false) の static method void ShowMessage(string text, bool IsError) を意味しています;
}
}
}
イベントハンドラスクリプトにアクセスできる追加アセンブリのクラスとメソッドについては、バッチタイププロパティ(特別なバッチタイプの場合)またはプロジェクトプロパティ(既定のバッチタイプの場合)の.Net 参照タブに追加しなければなりません。
以下のスクリプトは、外部アセンブリは文書定義プロパティの.Net 参照タブに追加されます:
外部アセンブリのクラスやメソッドを使用するスクリプトは、以下のコードを含んでいなければなりません:
TestNameSpace.Test test =newTestNameSpace.Test();// Test クラスのオブジェクトの作成
test.Show("hello world");// Test クラスから void Show() method を呼び出す
外部アセンブリのデバッグ
外部アセンブリをデバッグする時、アセンブリファイルと記号情報のある .pdb ファイルの両方が必要とされます。.pbd ファイルを読み込んだアセンブリだけがデバックできます。.pdb ファイルはかなり大きいので、作業中のプロジェクトの記号情報の読み込みは無効にしたほうがいいです。
記号情報の読み込みを制御するレジストリキー
以下のレジストリキーを使用して、.pdb ファイルを読み込むかどうかを指定できます:
- HKEY_CURRENT_USER\Software\ABBYY\FlexiCapture\12.0\Controller\ScriptSupport\ [LoadSymbolsFromOriginalPath] - アセンブリファイルのオリジナルフォルダから.pdb ファイルを読み込むかどうかを指定します (.pdb ファイルを読み込むにはキーの値をtrueに設定します);
- HKEY_CURRENT_USER\Software\ABBYY\FlexiCapture\12.0\Controller\ScriptSupport\ [PDBSearchLocations] = - .pdb ファイルへの検索パスを設定します (パスはセミコロンで区分して挙げなければなりません; 検索結果は記号情報のある.pdb ファイルで、その名前はアセンブリ名と一致します)。
既定では、これらのキーをレジストリで作成することはできません。必要であれば、管理者はこれらのキーをユーザーのオペレーティングシステムのレジストリに追加できます。
レジストリの変更が有効になるには、プログラムを再起動する必要があります。
アセンブリをデバッグするには、マネージコードへの接続を使用しなければなりません。
12.04.2024 18:16:06