08-14-2014 09:51 AM - edited 08-14-2014 09:52 AM
Hallo zusammen,
beim Versuch über die Script-Schnittstelle für interne Daten auf einen Kanal zu zugreifen bekomme ich die Fehlermeldung: "Der Index THETA5 1 entspricht keinem Element der Auflistung."
Unter DIAdem 2012 SP1b hat der folgende Code noch funktioniert, unter DIAdem 2014 aber nicht mehr. Hat sich da was geändert?
For j = 1 To Data.Root.ChannelGroups.Count iPV5UP = Data.Root.ChannelGroups(j).Channels("iPV5UP")(1) 'ReDim mychnvalue(iPV5UP) Set oTheta5Chn = Data.Root.ChannelGroups(j).Channels.Add("THETA5", DataTypeFloat64) For k = 1 To iPV5UP myChnName = "THETA5" & str(k, "DD") oTheta5Chn.Values(k) = Data.Root.ChannelGroups(j).Channels(myChnName)(1) Next Next
Wenn man den Kanalnamen direkt als String einträgt (z.B. Channels("THETA5 1") ) und nicht über eine Variable generiert funktioniert es!?
Danke und Gruss,
Elmar
08-17-2014 09:48 PM
Hi Elmar,
Perhaps something has changed in the str() function. Anyway, it seems to work with this change:
mychnName = "THETA5" & Right(" " & k, 2) ' str(k, "DD")
Brad Turpin
DIAdem Product Support Engineer
National Instruments
08-18-2014 02:46 AM
Hi Brad,
thank you.
Yes, this works. I've changed it in our Scripts.
Best regards
Elmar
08-21-2014 01:15 AM
Hi Elmar,
I just had a look at the DIAdem help regarding STR parameters and found a further solution:
myChnName = "THETA5" & str(k, "R : 2")
Greetings
Walter