1

実行時に動的に CODESYS にテキスト リストを書き込むにはどうすればよいですか?

コンボ ボックス (ドロップダウン リスト ボックス) に表示するソースとしてテキスト リストを使用しています。

前もって感謝します

4

1 に答える 1

0

最初に、 を使用してテキスト リスト ファクトリを取得しComponentManager、インスタンスを作成する必要があります。

    const Guid TextListFactoryGuid = new Guid("{7a60005b-e690-45b3-8aca-cd15950a3e73}");
    var textListFactory = (IObjectFactory)ComponentManager.Singleton.CreateInstance(TextListFactoryGuid);

次に、テスト リスト オブジェクト自体のインスタンスを作成します。

    var textListObject = (ITextListObject)textListFactory.Create();

テキスト リスト オブジェクトをオブジェクト マネージャに追加する必要があります。

    SystemInstances.ObjectManager.AddObject(
            SystemInstances.Engine.Projects.PrimaryProject.Handle,
            parentGuid,
            Guid.NewGuid(),
            textListObject,
            textListName,
            -1);

最後に、ITextListObjectができたので、それに文字列を追加できますidおよびitem:

    textListObject.AddEmptyRow();
    var textListElement = textListObject.GetTextListRowAt(textListObject.Count - 1);
    textListElement.ID = id;
    textListElement.Default = item;

それがあなたの求めているものであることを願っています

于 2015-10-30T11:38:38.680 に答える