Element Collections Library Documentation¶
- Company:
- CODESYS 
- Title:
- Element Collections 
- Version:
- 4.0.0.0 
- Categories:
- Intern|Base 
- Namespace:
- COL 
- Author:
- CODESYS Development GmbH 
- Placeholder:
- ElementCollections 
Description [1]¶
This library provides functions blocks and interfaces to store object references in predefined data structures like Lists, Queues, Stacks and Hashtables. Elements of a collection must implement the interface IElement.
NOTE: Online change behavior when the declaration of an element has been changed:
List, SortedList, Queue, Stack and HashTable:
- Collections created dynamically via a factory are NOT online-change-safe. 
- Statically created collections are online-change-safe, if the contained elements were also generated statically. 
- A statically generated collection with dynamically generated elements is NOT online-change-safe. 
- HashTable: The values of ElementHashcode must be constant and can not be changed during an online change. The comparison values of ElementEquals MUST NOT be changed. 
- A SortedList is automatically re-sorted after an OnlineChange if the input - xSortAfterOnlineChangeis set to TRUE.
- Deleted items are not automatically removed from a collection after an online change. 
LinkedList:
- A statically created LinkedList is online-change-safe for statically created elements. Condition is that the elements implement - FB_reinitand the method- UpdateElement (itfElement: = THIS ^);of the IOnlineChangeSafeLinkedListElement interface.
- Deleted items are not automatically removed from a LinkedList after an OnlineChange. 
- An element of type IOnlineChangeSafeLinkedListElement can be assigned to only one instance of a LinkedList. 
