#include <cx/PortAccess.h>int cxInputDataChanged (int port)
int cxInputDataChangedV (int port, int *changeVec[] )
integer function cxInputDataChanged (port) integer portinteger function cxInputDataChangedV(port, pChangedVec) integer port pointer (pChangedVec, changedVec) integer changedVec(1)
cxInputDataChangedV returns the number of values in the changeVec array.
cxInputDataChangedV sets changeVec to the address of an array which contains a non-zero (or zero) value for each connection that has new (or old) data, and returns the number of connections in the array. The changeVec array is static and must not be deallocated. The changed flags correspond to the array of data pointers returned by cxInputDataGetV and the array of connection identifiers returned by cxInputDataConnIDGetV. cxInputDataChangedV will not return the current number of connections if connections were made and then disconnected. See cxInputDataGet for a discussion of what data value and changed flag are used in this case.
The port is considered new if any of the connections have new data. The port will be old the next time the module fires if either cxInputDataGet or cxInputDataGetV are called.
cxInputDataChanged and cxInputDataChangedV should not be called for "Fire" ports, cxFireDataChanged and cxFireDataChangedV provide similar functionality for such ports.
Modules that use the Module Data Wrapper can access cxInputDataChanged through the "Data Changed" element in the input ports menu, shown in the Connections window. Because the Module Data Wrapper calls cxInputDataGet for every input port, each input port will be "old" the next time the module fires. Thus, data wrapper modules cannot postpone querying a ports state from one firing to the next; all port states are queried each time the module fires.