外部アセンブリ

スクリプトとグローバルモジュールで外部アセンブリを使用することができます。標準およびコンパイルされたユーザーアセンブリの両方を使用できます。

外部アセンブリの追加

外部アッセンブリを次の場所に加えることができますスクリプトタブのあるバッチタイププロパティダイアログボックスもしくは次の中ツール→オプション。加えられたアッセンブリクラスとアッセンブリ方法のすべてはスクリプト及びグローバルモジュールに使用できます。

バッチタイプもしくはドキュメント定義の属性に加えられたアッセンブリは、そのバッチタイプもしくはドキュメント定義に対してのみ使用できます。

アッセンブリを加えるには:

  1. プロジェクトプロパティダイアログボックスを開き、次のものをクリックスクリプトタブ、そしてこちらをクリックリファレンス .Net...ボタン;
  2. 表示されるダイアログボックスで、次のものをクリック追加...;
  3. アッセンブリを追加ダイアログボックスで、選択添付ファイルもしくは標準アッセンブリ名入力フィールドに
  4. 選択された種類によって、ファイルパスまたは標準名を特定してください。

ネームスペース、クラス及びそのクラスの方式を含むユーザーアセンブリのコードサンプルを下記に見ることができます。

namespace TestNameSpace
{
public class Test
   {
   public void Show(string text)
      {
     // は次のテキストメッセージを表示します - System.Windows.Forms.MessageBoxのクラスからの静的方法 Show(string text);
System.Windows.Forms.MessageBox.Show(text);
      }
   }
}

外部アッセンブリの方法とクラスを使うスクリプトは以下のコードを含む必要があります:

TestNameSpace.Test test = new TestNameSpace.Test();// Test クラスのオブジェクトの作成
test.Show(「やあみんな」);// Test クラスから void Show() method を呼び出す

外部アセンブリのデバッグ

外部アセンブリのデバッグの際、アセンブリファイルと記号情報の*.pdbファイルの両方が必要です。読み込んだ*.pdbファイルのあるアセンブリのみがデバッグの対象となります。*.pdbファイルのサイズは比較的大きいため、稼働しているプロジェクトでの記号情報の読み込みを不可としておくことをお勧めします。

記号情報の読み込みを制御する登録キー:

*.pdbファイルの読み込みをさせるかどうかを決めるために次の登録キーを使います:

  • HKEY_CURRENT_USER \Software\ABBYY\ScanStationFC\4.0\Shell\Script [LoadSymbolsFromOriginalPath] - これにより、アセンブリの読み込み元となるフォルダーから*pdbファイルが読み込まれるかどうかが決まります(*.pdbファイルを読み込むには、キーの値をTrueに設定します)
  • HKEY_CURRENT_USER \Software\ABBYY\ScanStationFC\4.0\Shell\Script[PDBSearchLocations] =<path to the folder with PDB files> - これにより、*.pdbファイルを探すためのパス検索が特定されます(パスはセミコロン区切りである必要があります;検索結果は記号情報のある*.pdbファイルです。ファイル名はアセンブリ名と同様です)

既定では、これらのキーをレジストリで作成することはできません。必要に応じて、管理者はこれらのキーをユーザーのオペレーティングシステムのレジストリに追加することができます。

レジストリの変更を有効にするには、プログラムを再起動する必要があります。

アセンブリのデバッグをするには、管理するコードに接続しなければなりません。

12.04.2024 18:16:24

Please leave your feedback about this article

Usage of Cookies. In order to optimize the website functionality and improve your online experience ABBYY uses cookies. You agree to the usage of cookies when you continue using this site. Further details can be found in our Privacy Notice.