[DLL] パッケージ

DLL (ダイナミックリンク ライブラリ) ファイルには、Windows プログラムで使用できる関数の共有ライブラリが含まれています。[DLL] パッケージ.dll ファイルを参照として使用し、Bot から関数を呼び出します。

開始前

利用可能な アクション のセットを使用する一環として、[DLL] パッケージ 内の以下の アクション を実行します。
注:
  • カスタム DLL を使用して Bot を作成し、カスタム DLL が Apache log4net ライブラリへの依存関係を持つ場合、次のライブラリを使用することが推奨されます:
    • カスタム DLL の log4net バージョン 2.0.11 以降。
    • Bot エージェントの更新が任意の場合でも、Bot エージェント (バージョン 21.210 以降) を更新します。
  • Microsoft .NET Framework を使用してビルドされた DLL だけがサポートされます。
  • DLL を実行パッケージ は、次のバージョンの Microsoft .NET に対応しています: 4.6、4.7、4.8。
  • Bot を作成し、ループでローカル セッションを使用する場合は、必ず、Bot で close session アクションを使用します。close session コマンドを使用しないと、ローカル セッションはループの反復ごとに AutomationAnywhere.ManagedDLLWrapper.exe を開きます。その結果、メモリ スペースが使い果たされ、Bot は失敗します。
Important:Bot と子 Bot で異なるバージョンの [DLL] パッケージ を使用する場合、現時点では Bot をまたがってセッションを共有する機能がサポートされません。親と子の Bot でセッションを共有するには、必ず親と子の両方の Bot で同じバージョンのパッケージを使用します。
  1. [開く] アクション を使用して、使用する .dll ファイルの場所とセッション名を指定します。このセッション名は他の アクション でも使用します。参照された .dll が自動的に Bot の依存関係として追加されます。
  2. [関数を実行] アクション を使用すると、.dll から関数を実行し、出力値を変数として保存できます。
  3. 必要な関数を実行したら、.dll 参照を閉じます。.dll 参照を閉じてオペレーティング システムのメモリを解放することが重要です。

    DLL を実行するデバイスでは、Windows と適切なバージョンの Microsoft .NET Framework を使用できます。

    Bot Launcher のログを確認するには、C:\ProgramData\AutomationAnywhere\BotRunner\Logs\<current month>\Bot_Launcher-<today's date>.log.zip に移動します。圧縮された各フォルダーには、コード実行に関するデータを含むファイルが含まれます。このファイルはデバッグに役立ちます。

注: .dll ファイルで NET 関数または別の .dll ファイルからのクラスを使用する場合、2 番目の .dllBot の手動指定の依存関係として追加する必要があります。

Bot の依存関係

1 つのメイン DLL を持つ複数の DLL をインポートし、そこから他の DLL が参照されている場合は、1 つのフォルダーにすべての DLL があることを確認してください。また、参照される DLL は、メイン DLL で使用されている名前とは異なるセッション名を使用して呼び出す必要があります。メイン DLL と参照されている DLL の両方で同じセッション名が使用されている場合、Bot の実行は失敗します。

[DLL] パッケージアクション

[DLL] パッケージ には、以下の アクション が含まれています。

アクション 説明
閉じる

[閉じる] アクション」を参照

開く

[開く] アクション」を参照

関数を実行 (レガシー) [関数を実行] アクションの使用」を参照してください。
注:
  • [関数を実行 (レガシー)] アクションDLL を実行 パッケージ で使用できなくなりました。DLL を実行 パッケージ の [関数を実行] アクション を使用することをお勧めします。これは、この アクション が [関数を実行 (レガシー)] アクション の改良版であるためです。

    ただし、[関数を実行 (レガシー)] アクションを使用する既存の Bot は、引き続き問題なく実行されます。

  • この アクション は、Enterprise A2019.16 から [関数を実行 (レガシー)] と呼ばれています。この アクション は、Enterprise A2019.15 以前のリリースでは、[関数を実行] と呼ばれています。
関数を実行 [関数を実行] アクション の使用」を参照してください。

DLL 関数でサポートされるデータ型

以下の表は、DLL 関数の入力または出力パラメーターとして使用できる変数とデータ型を示しています。
注: [関数を実行] および [関数を実行 (レガシー)] アクション は、[関数へのパラメーター] または [変数に出力を代入] フィールドのユーザー定義データ型をサポートしていません。
入力または出力パラメーターとしての変数型 .NET でサポートされているデータ型
文字列
  • Char
  • Byte
  • 文字列
  • 文字列
  • SByte
数字
  • UInt16
  • Int16
  • UInt32
  • Int32
  • UInt64
  • Int64
  • Int
  • 下線
  • Decimal
  • Float
  • 二重下線
Boolean
  • Boolean
  • bool
日時
  • 日時
リスト
  • UInt16[]
  • Int16[]
  • Int32[]
  • Int64[]
  • Int[]
  • Char[]
  • Single[]
  • Decimal[]
  • Float[]
  • Double[]
  • Boolean[]
  • bool[]
  • Byte[]
  • String[]
  • Datetime[]
  • List<UInt16>
  • List<Int16>
  • List<Int32>
  • List<Int64>
  • List<Int>
  • List<Char>
  • List<Single>
  • List<Decimal>
  • List<Float>
  • List<Double>
  • List<Boolean>
  • List<bool>
  • List<Byte>
  • List<String>
  • List<Datetime>
  • List<SByte>
  • List<UInt32>
  • List<UInt64>
注: C# の IList データ型はサポートされておらず、Automation 360 のリスト データ型では機能しません。
テーブル
  • UInt16[,]
  • Int16[,]
  • Int32[,]
  • Int64[,]
  • Int[,]
  • Char[,]
  • Single[,]
  • Decimal[,]
  • Float[,]
  • Double[,]
  • Boolean[,]
  • bool[,]
  • Byte[,]
  • String[,]
  • Datetime[,]
  • Byte[,]
  • UInt32[,]
  • UInt64[,]
注: [テーブル] 型変数は、.NET における 2 次元配列型変数に相当します。
ディクショナリ
  • Dictionary<String,UInt16>
  • Dictionary<String,Int16>
  • Dictionary<String,Int32>
  • Dictionary<String,Int64>
  • Dictionary<String,Int>
  • Dictionary<String,Char>
  • Dictionary<String,Single>
  • Dictionary<String,Decimal>
  • Dictionary<String,Float>
  • Dictionary<String,Double>
  • Dictionary<String,Boolean>
  • Dictionary<String,bool>
  • Dictionary<String,Byte>
  • Dictionary<String,String>
  • Dictionary<String,Datetime>
  • Dictionary<Int,String>
  • Dictionary<Decimal,String>
  • Dictionary<Boolean,String>
  • Dictionary<String,SByte>
  • Dictionary<String,UInt32>
  • Dictionary<String,UInt64>
注: .Net DLL 関数を作成する場合は、ディクショナリ データ型ではなく IDictionary データ型を使用します。