Jump to content

How to access / use a VI in a different Application Instance


Recommended Posts

Hi All,

Firstly, this is a cross post, I have also put this question on the OpenG forums How to get the best out of plugin's however I think it might be of general use / interest so I am posting to LAVA as well.

I am making increase usage of the OpenG application builder and in particular I am running a number of plug-in's, different plugin's for pre / post usage and in call-back mode.

I do not know if this makes any difference but one of the reasons we are using the OpenG app builder is so that we can build executables of our code without using the LabVIEW project explorer, we are moving from LabVIEW 7.0. to 8.2.1 and are code base needs some moving around before things will fit nicely into the project explorer scheme.

One of the things all my plug-in's are doing is generating information that I want to log. In truth I really wish to add them to the existing log file that the OpenG application builder itself creates but up to now I have totally failed to be able to do that and have had to write my own logging into each of the plug-in's. While this solution works it is far from ideal.

The OpenG builder has a good log system whereby a running log is kept in a shift register in "DEAB Log Store_ogb.vi", all nicely date time stamped, and at the very end this is written to the correct Dir overwriting any existing log file using "DEAB Write Log File_ogb.vi". So far so good.

My problem is that the two VI's above are loaded in the application instance "NI.LV.Dialog" and the plug-in's which exists on a network location are therefore in a different instance and i cannot figure out how to get them to call the correct instance of the "DEAB Log Store_ogb.vi" and "DEAB Write Log File_ogb.vi".

In the thread App.AllVI and Application Instances Kennon suggests

QUOTE

<vi.lib>\Utility\allVIsInMemory.llb\VIMemory Get VIs in Memory.vi will return an array of clusters containing strings with the Project, Target and VI Name, plus the Application Reference for all VIs in memory. (Yes it says ComputingNode but imagine it says Target). You can optionally only return the VIs that have their front panels open. With the Application Reference and VI Name you can open a VI reference to the VI you need, even though it is in another context.

I have tried using this in the plug-in's but I cannot seem to find any reference in the output cluster to any of the "NI.LV.Dialog" VI's that I know are running as part of the builder.

Could anyone please please give me some pointers on how to do this

thanks in advance

cheers

Danny

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.