04-30-2020 08:09 PM
The issue is only within the application. I copied my 151 groups into 3 tdms files for a total of 453 groups and channels.
You can load the result list via:
'ONE BY ONE from the Navigator result list.
for each myItem in oResultList
Call Navigator.LoadData(myItem, "Load")
next
Output
unit_test: implementation=3
unit_test: myLoadNavigatorResultList=no error
unit_test: Group Count 453
unit_test: Channel Count 453
'Faster, better, stronger...
But if you just load the element list like:
Call Navigator.LoadData(oResultList, "Load")
Output
unit_test: implementation=4
unit_test: myLoadNavigatorResultList=no error
unit_test: Group Count 453
unit_test: Channel Count 453
In both cases the data portal contains all the data and no error was thrown.
The commented out sections in the code are my musings on how to speed up the load from the result list but do not really speed up or do not work...
05-22-2020 03:55 PM
Hi az_ltr,
Right, you can only indicate the group/channels you want to load selectively by their indices or names, no other properties can serve as inputs to the DataFileLoadSel() command.
Brad Turpin
Senior Technical Support Engineer
National Instruments
05-27-2020 12:00 PM - edited 05-27-2020 12:00 PM
Hi az_ltr,
It looks like from the code you sent that we're talking exclusively about selective loading of queried Elements (rows) from a DataFinder query using DIAdem. I'd like to suggest that you build your own custom list of Elements and load them all at once. You can do this if you use the CreateElementList() method of the DataFinder object, then selectively assign the specific Elements that meet your property criteria to it. At the end, you can tell DIAdem to load all of them. The example below loads all Files with a filename ending in "s", but you could add a list of selective Groups to this object or a list of selective Channels to this object. Hopefully this helps.
Set oMyDataFinder = Navigator.Display.CurrDataFinder
Set LoadResults = oMyDataFinder.GetDataFinder.CreateElementList()
For Each Element In oMyResults
IF LCase(Right(Element.Name, 1)) = "s" THEN
Call LoadResults.Add(Element)
END IF
NEXT ' Element
MsgBox LoadResults.Count
Call Navigator.LoadData(LoadResults)
Brad Turpin
Senior Technical Support Engineer
National Instruments