0

Wonderware ArchestrA IDE (2012 R2) で null 許容型に値を代入する際に問題が発生しています。

インポートした .NET クラスは次のようになります。

    public class TestObject
    {
        public string Name { get; set; }

        public Nullable<int> MyNullableInt { get; set; }

        public int MyInt { get; set; }
    }

次に、[インポート] -> [スクリプト関数ライブラリ] を使用して、これを Galaxy にインポートします。

私の ArchestrA スクリプトは、文字どおり次の内容で構成されます。

dim NT as NullTest.TestObject;
NT = new NullTest.TestObject;
NT.MyNullableInt = 3;

スクリプトは検証されますが、に割り当てるMyNullableIntと、スクリプト エラーが管理コンソールに記録されます。

ProdCapability_001.GetMESWOData: {0896E675-F7D7-4F77-9FD2-20477058E072}: JIT コンパイラで内部制限が発生しました。

.NET 4.5 がサーバーにインストールされています。Wonderware Application Server にインポートされた .NET クラスは Nullable 型を使用できませんか? それとも私は何かを逃しましたか?

4

2 に答える 2

1

ジェネリックがサポートされていないことを発見しました。これは、奇妙な「コンストラクターのオーバーロードが見つかりません」というメッセージを説明しています。ArchestrA IDE ヘルプから:

QuickScript は、.NET CLR バージョン 2.0.50727 で構築されたインポート ライブラリをサポートしていますが、ジェネリックなど、.NET 2.0 で導入された新しい言語機能はサポートしていません。

したがって、Nullable クラスを使用するのではなく、null を割り当てることができるようにしたい .NET 値の型ごとに null の割り当てをサポートするクラスを作成する必要があるようです。

于 2013-10-08T10:41:40.447 に答える
0

Wonderware にはいくつかの機能がありません (null、ジェネリック、例外処理、using ステートメント)。ただし、私の記憶が正しければ、場合によっては DBNull を使用できます (たとえば、テーブルに空白のセルが必要な場合や、データベースに null 値を書き込む場合)。

https://msdn.microsoft.com/en-us/library/system.dbnull.value%28v=vs.110%29.aspx

于 2015-04-25T00:06:39.840 に答える