‎03-24-2021 01:30 PM
The code below finds the Object out and Error out terminals of an accessor VI:
It works fine if the scriptor and scriptee are in the same context. If they are in different contexts then it won't find the object output terminal.
‎03-24-2021 07:27 PM
Well, since you're clearly only looking for the data type (whether it's an "Object" or something else), could you switch to using the Get Type Information VI instead, and see if it's a "LabVIEW Class instance"?
‎03-25-2021 01:08 AM
Well, I don't know if I would say this was expected, but presumably what's happening is that the variant to data primitive needs to have the actual class loaded in order to do the conversion and that doesn't work because it's another context.
Presumably Kyle's suggestion should work for your case and if not, you would need to start dynamically loading the class. I'm not actually sure how you would do that, as I'm assuming Get LV class path won't work and the type parsing VI doesn't seem to return a path. You would probably need to do some work through the other context to get the path, but I haven't tried anything.
‎03-25-2021 07:49 AM
I don't recall the details, but Control.Terminal.Data Type does sometimes work while Control.Value doesn't. And vice versa. IIRC this was cross-context.
I think this bit me once with type defs. And classes are in some ways type defs...
It's probably a dead end, but it's a minor change, so you might give it a try.
‎03-25-2021 07:50 AM
Another thought would be to use the connector pane property of the VI, and use that type data to see if it's useful.
Assuming you're interested in the CP of course...
‎03-25-2021 09:31 AM
I ended up doing this: