2015-10-01 105 views
1

如何在運行時動態地在CODESYS中編寫文本列表?在codesys中寫入文本列表

我用文字列表作爲源在組合框中顯示(下拉列表框)提前

感謝

+0

你解決了問題嗎?我使用字符串並在元素之間插入「,」鉤子...它的監視器將其檢測爲新索引。但最大字符串值是255.有問題。任何消化? – Klasik

回答

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,您可以添加字符串給它的iditem

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

希望這就是你之後