From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
07-29-2013 07:22 AM
For those of you who do scripting, you can get block diagram object names in the same fashion. Block diagram object IDs start at 0x4000.
07-29-2013 11:07 AM
Brilliant! The ini file mod works.
Thanks
07-30-2013 08:59 AM
Just for full disclosure, there is a reason all those methods and properties are hidden behind an undocumented INI token. Many are buggy, some have not been implemented, and some will crash LabVIEW and corrupt your code (I have run into to all of these at one time or another). Caveat coder!
05-17-2014 08:11 PM
Just adding to the tribal knowledge with some search-engine friendly terms on how to determine a reasonably complete list of ClassNames and ClassIDs (Class Names and Class IDs) for scripting block diagram and front panel objects.
This snippet may be run in LV2012 and higher. The default value of "All Class Names" in this snippet is set to the results of running this VI in the 12.0.1f5 (32-bit) on Windows.
05-18-2014 07:03 AM - edited 05-18-2014 07:07 AM
@mattb-5906 wrote:
Thanks for the info DFGray. I noticed some changes in the last few class IDs between LV version on the online documentation. Seems a bit poor - thought they would have added new ones rather than changing them to maintain backwards compatibility.
Basically that is one of the reasons not to document this! Once documented NI can't change it very easily, as long as it is not documented they can go in and refine it at any time if some other changes make this desirable. So there is a double incentive not to document every detail of the LabVIEW implementation:
1) Less effort for the documentation guys and gals to write and maintain the documentation (and I would judge about doubling or tripling the online help in size too).
2) Easier change in those implementation details as new features and insight make it desireable to do so.
With every change of something in LabVIEW there is a long list of things that needs to be considered at first. Very high in that list is the point: Has this been documented anywhere officially. If it has, the change really really has to have a very important advantage that it is even considered valid to go further about evaluating the feasibility of the change.
02-06-2015 10:41 AM
this is the same previous vi. i've sent the classid strings into an enum. all the "generic" items are renemed . generic 8 -> generic
02-06-2015 10:47 AM
Or because I like to do things another way. This gets a reference to a class specific constant and reads what the options are. This also gives parent information and can be used to make a tree. This feature was used in my Find References XNode over on LAVA.
https://lavag.org/topic/18796-cr-find-references-xnode/
Unofficial Forum Rules and Guidelines
Get going with G! - LabVIEW Wiki.
16 Part Blog on Automotive CAN bus. - Hooovahh - LabVIEW Overlord
06-17-2015 04:50 PM
Here's an enum of ClassID's. Since some values are not unique (i.e. "Generic"), this prepends the id number.
Note: This is subject to change for future LabVIEW versions.
-Ryan
10-28-2019 06:17 AM - edited 10-28-2019 06:33 AM
As others have said, there are 12 duplicate 'Generic' class names.
Generic class IDs: 3, 45, 63, 64, 86, 107, 108, 109, 124, 16468, 16469, 16471, 16513.
Do these all point to the same data type?
Any idea if/where/why these are used?
I wrote a VI that went through every possible end-user accessible class ID (all 0xFFFFFFFF of them in chunks of 0xFFFF) and, after >15 hours iterating through them, there are a total of 299 including duplicates. The greatest class ID was 16547 (0x40A3).
This was in LabVIEW 2018.
10-31-2019 05:10 AM - edited 10-31-2019 05:11 AM
Just to tie up loose ends:
I've since found the NI_Data Type.lvlib:VI Server Generic Type.ctl enum which is used by NI_Data Type.lvlib:Get Refnum Information.vi.
This contains labels for some of the duplicate Generic class names produced by the VI Server:Application:GetClassNameFromID method.
Class ID | Class ID Hex | Enum item |
---|---|---|
45 | 0x002D | kLVObjOldKnobScale |
63 | 0x003F | kLVObjUnused2 |
64 | 0x0040 | kLVObjSCLControl |
86 | 0x0056 | kLVObjUDClassClone |
107 | 0x006B | - |
108 | 0x006C | - |
109 | 0x006D | - |
124 | 0x007C | - |
16468 | 0x4054 | kLVObjGenClassDeepCopy |
16469 | 0x4055 | kLVObjGenClassTagFlat |
16513 | 0x0081 | - |
Full LV2018 list attached