10-19-2018 12:15 PM
I can use "Get Online Help" to get general help for an Invoke Node:
But I'm trying to get method-specific help to show. My guess is that some kind of suffix on the tag would do it, but I haven't been able to guess it. I can do this (thanks to Hooovah) to get the help description for a method:
However this doesn't get me to the detailed help page.
Any ideas?
10-22-2018 03:00 AM - edited 10-22-2018 03:06 AM
Not sure how helpful this is... Still in 2013 for main development.
So when you browse to a metho in the help, and right click and select properties, it will give you a URL. Looks like this:
mk:@MSITStore:C:\Program%20Files%20(x86)\National%20Instruments\LabVIEW%202013\help\lvprop.chm::/VI_Run_VI.html
That seems to gives you the help file and the method specific html file.
Not sure if there is enough logic in those URLs to generate them from the method, but it might be a starting point.
Not sure how that URL to control the help is related to that resource file. I expect you've when through the contents of that data?
Worse case, you'll have to use MS HTML Workshop to extract the HTML content from the chm files...
Could you save the 2nd VI to 2017? That dll looks interesting, a prototype of it is also fine.
10-22-2018 09:54 AM
I don't have that snippet handy, I've misplaced my working drive (I'm not in a panic because I backup important stuff every few days).
Here's what Hooovah sent me.
10-22-2018 10:07 AM
I've also found interesting things in "C:\Program Files (x86)\National Instruments\LabVIEW 2018\help\lvscript.chm"
In there are HTML files for methods. The tricky part will be generating the names. They appear to be made up of the class name followed by the method's long name, with spaces replaced by underscores. Getting the method's long name is easy, but how to get the owning class name? Take for example an Invoke node for control: it has an Invoke Node Class Name of "VI Server:Control"; it has available a "Delete" method; but the name of the help for that isn't "Control_Delete.html", it's "Generic_Delete.html". So I need to figure out a way to find the highest class that has the method ("Generic" in this case).
10-22-2018 11:11 AM
That might be only possible by making a LUT with class constants.
So make a DUT VI with a class constant, set it's class, get available methods and store them in a set. Do this for all classes (class IDs) and do the administration...
10-22-2018 12:51 PM
wiebe@CARYA wrote:
That might be only possible by making a LUT with class constants.
So make a DUT VI with a class constant, set it's class, get available methods and store them in a set. Do this for all classes (class IDs) and do the administration...
I try to avoid that sort of thing because updates might be required when new versions of LV come out.
So far, I've come up with code (see attachment) that finds ancestor class names. I could use it to march up the stack looking for the .html file (e.g "XNode_Delete.html", "ObjectFunction_Delete.html", ... , "Generic_Delete.html").
10-23-2018 03:17 AM
@paul_cardinale wrote:
wiebe@CARYA wrote:
That might be only possible by making a LUT with class constants.
So make a DUT VI with a class constant, set it's class, get available methods and store them in a set. Do this for all classes (class IDs) and do the administration...
I try to avoid that sort of thing because updates might be required when new versions of LV come out.
So far, I've come up with code (see attachment) that finds ancestor class names.
Probably what I would have come up with.