Hello all, I'm very new to Labview, I have wraped a dll library using the LVlib wizard and now I am trying to use it in a project. I have a function that does not take any inputs or return any thing except that a struct is populated with some status information as part of the call. I am able to draw a StartInterface VI because my void startInterface(const char* configFile, struct status_struct* status) takes the location of a configutation file as an input. But I can not figure out how to connect my Call Library Node to my a function vi that does not have any inputs ( void shutdownInterface(struct status_struct* status)).
Note that the status struct is deffined to be only and out put at the creation of the LVLIB.
A pointer is still an "input", so the function void shutdownInterface(struct status_struct* status) has an input - a pointer to a struct. Usually the term "arguments" are used since this does not provide a connotation of "input" or "output". A function with no arguments... well there's nothing magical about that. In the Parameters tab when you're configuring the Call Library Function function you simply have this:
Note: You should search these forums on pitfalls of passing structs to DLLs.
It seems that you are trying to do a callback with your code that doesn't have any inputs and doesn't return anything. If you have LV 8.6.1, there is a built in interface for callbacks as you can see in the above call library functions property or in this manual. If you don't have LV 8.6.1, here is a discussion form on how to work around this to implement a callback function.
Thanks for the responses guys:
I think I am aware of the conotations of inputs and outputs when I created the lvlib I specified the argument struct status_struct* status as only an output instead of the default of input and output.
I do not think that I am doing anything as complex as function callbacks. My immediate goal is to have an executable (I have application builder) with two buttons and two three text fields one text field for the input of the config file, two text-fields for a cstring that is contained in the status struct; one button to start the interface and one button to stop the interface.
This is in all likely hood a case of my self being too dense and missing something fundimental 😉 I just can't figure out how to wire the shut down method after I've configured the call library node. See the attached pictures: