LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

.net missing properties and methods in 8.2.1

I was trying to get IronPython python to work in LabVIEW as described in this blog post.

But there seems to be something seriously wrong with 8.2.1 and any of the ironpython dll's from the iron python website.

Here's a picture of the method display for PythonEngine (version 1.1) in 8.0.1

And from 8.2.1

The property display is also missing entries.

Oddly enough the dll in the blog post seems to list the correct entries, but I'm having errors with the evaluate command in that version ("Ambiguous match found" basically the same error in 8.0.1 and 8.2.1, but that function works with the IronPython 1.1 dll in LabVIEW 8.0.1).

Can someone verify this in 8.2 and/or 8.2.1 (I'll try reinstalling LabVIEW if the problem seems unique to me).
Just download any of the iron python releases
extract IronPython.dll and IronMath.dll somewhere
make a blank vi
place a .net node constructor on the block diagram
browse to the IronPython.dll
Select IronPython.Hosting.PythonEngine
Create a method node for the reference from the constructor node
Check if it's missing a lot of stuff like in the above pictures.




Message Edited by Matt W on 04-25-2007 06:13 PM

Download All
0 Kudos
Message 1 of 12
(3,708 Views)
Has anyone had a chance to verify that the problems with LabVIEW and not with my setup?
0 Kudos
Message 2 of 12
(3,681 Views)
Under LabVIEW 8.2 I see the same thing you see in 8.2.1. Very odd.
0 Kudos
Message 3 of 12
(3,662 Views)
Thanks for checking.

Looks like downgrading to 8.2 wont help (I'm using lvoop so I can't go back to 8.0).

I'll try to find a workaround then.

Hopefully someone at NI can file a bug report (unless there's some form I can fill out).

Matt W
0 Kudos
Message 4 of 12
(3,656 Views)

Matt:

I followed the steps you mentioned above and I was not able to reproduce what you see on my end. After browsing to IronPython.dll, I get the error described in my attachment. Let me know if you uncovered something else.

Thanks,
 
Rudi N.
 

Message Edited by Rudi N on 04-30-2007 08:42 AM

Message Edited by Rudi N on 04-30-2007 08:43 AM

0 Kudos
Message 5 of 12
(3,644 Views)
What version of LabVIEW and the .NET rutime are you running? You can check the .net version by checking what's installed under Microsoft .NET Framework in Add or Remove Programs. I'm running 3.0 which might have something to do with it.
0 Kudos
Message 6 of 12
(3,629 Views)
Just for the record, I'm running .NET 2.0.
0 Kudos
Message 7 of 12
(3,628 Views)
Well I made some progress figuring it out what the problem was (had to learn a little C# in the process)

From what I can tell LabVIEW 8.2 get's confused on .net assembles that use generics (or at least System.Collections.Generic.IDictionary<string, object>) . I'm really new to .NET so I could be a bit off.

I've attached a zip that contains a .NET dll file and the C# project used to make it. It also contains a vi linked to the dll file. The vi is runnable (but doesn't do anything) in 8.0 but not 8.2.

I also attached a dll file that should allow you to use evaluate and execute with ironpython 1.1 and LabVIEW 8.2 (put it and the ironpython dlls in the same directory and point labview at it), should be pretty straight forward from there. There's a good chance I messed up the dll somehow since it's the first thing I made in C#, I attached the cs file for it if you want to compile a version with access to more features.

Matt W

Message Edited by Matt W on 04-30-2007 06:44 PM

Download All
0 Kudos
Message 8 of 12
(3,618 Views)
You might wish to have a look here.

___________________
Try to take over the world!
Message 9 of 12
(3,608 Views)
Well that explains it, I guess I should be more thorough in my forum searches. If anyone needs to access a generic IDictionary I found that you can upcast it to a object in C#, then in labview downcast it to a Systems.Collections.IDictionary (in the mscorlib 2.0.0.0 ). You'll have to do a lot of casting to get things into and out of it, but it works. If someone knows how to remove all the extra type information (or if it's even possible), that would probably work out as a better solution.

Matt W
0 Kudos
Message 10 of 12
(3,589 Views)