10-30-2008 11:15 AM
Hello,
I seem to be having a problem with the Convert Panel to Screen Coordinates invoke node when I'm running it as an executable. It works great when I run it as part of a VI in Run mode, but when I build that VI into an executable the Panel to Screen node gives me an error 1071: Specified method not found.
I am currently running LabVIEW 8.6. I saw on other message boards that this particular node didn't even run as part of a VI in Run mode until LV 8.6. Prior to this it was only available in Edit mode. I'm wondering if this node was ever tested as part of an executable after the 8.6 bug fix?
I've attached a zip file that has the VI as well as an executable that produces the error and the project I used to create the executable. Has anyone else run into this and found a fix or workaround?
Thanks,
Eric
11-03-2008 04:03 PM
Hi Eric,
Can you explain a little bit more about what you're trying to accomplish and how this feature is allowing you to do so?
Thanks,
11-03-2008 04:30 PM
Hi Dan,
I would like to know (in screen coordinates) where exactly a user clicked on one of my panels. I am able to get the pane coordinates from a Pane: Mouse Down event case. I then use the Convert Pane to Panel Coordinates invoke node to go from pane coordinates to panel coordinates. This works fine whether it's in a VI or an executable. Next I use the Convert Panel to Screen Coordinates invoke node. This works great in a VI but gives me Error 1071 in an executable. I am ultimately interfacing with some Windows dlls that require screen coordinates to work properly. This feature allows me to get mouse clicks in screen coordinates so I can use the dlls.
11-05-2008 09:00 AM
Hi Eric,
I wasn't able to reproduce the basic functionality outside of an executable yet. I'll have to look into it further and get back to you.
Have you tried rebuilding it? Perhaps there was a corrupted VI in your project; that sometimes happens.
Thanks,
11-05-2008 09:07 AM
Hi Dan,
Thank you for taking the time to look into this for me. The zip file I attached in my original post gives an example of the invoke node working in a LabVIEW 8.6 VI.
I tried rebuilding the project, but that didn't seem to fix it. There's only one VI in the project plus an NI type def, so I don't think that was the cause.
Any other suggestions you may have are greatly appreciated.
11-06-2008 09:56 PM
Hi Eric,
I tried to reproduce the functionality you're talking about by opening the project in your ZIP file and then running the P to S Test VI. Is that the right way to do things?
I see your front panel updating with the position of the front panel itself rather than the location of a user's clicks. I'm not sure if I'm doing this right. Can you re-explain the functionality you want and how to produce it with your program?
Thanks,
11-12-2008 09:12 AM
Hi Dan,
The first part of my example is indeed the P to S Test VI. You are correct that this VI updates with the position of the front panel. The purpose of this VI was to highlight the use of the Convert Panel To Screen Coordinates invoke node and to show that it works inside of a VI. You mentioned that you see the front panel updating, so you can see that the invoke node does work. This test VI wasn't intended to be an example of getting the user's clicks. That was just a part of my overall application. The problem I was having was with the Convert Panel To Screen Coordinates invoke node, so I wrote this test VI to isolate that invoke node. By moving the window around you can see the panel coordinates ((0, 0) by default, but you can change them to whatever you'd like) remain the same while the screen coordinates change.
The second part of my example is the executable located in the \builds\P to S Test folder. This executable is the same code as the P to S Test VI. If you run this executable you should be able to see the difference. The screen coordinates no longer update and now the code produces an error 1071 at the Convert Panel To Screen Coordinates invoke node.
I apologize for not making the instructions for use more clear in the beginning. It made sense in my head 🙂
My question then is why this invoke node works within a VI but not within an executable?
Thanks again for taking the time to look at this,
11-13-2008 06:10 PM
Hi Eric,
It's an interesting issue and thanks for going further with the explanation. I'll have to look into this and get back to you when I've figured it out. I might ask around to see if a colleague has come across this before. I'll be in touch.
Regards,
12-02-2008 08:30 AM
Hi Eric,
Sorry for the slow reply since we last spoke. I was looking into a workaround. After consideration of the issue and research into its history, I see that a Corrective Action Request (CAR) has already been filed regarding this functionality. It was filed on November 4th. Although we cannot guarantee that this functionality will be fixed with the next update, I can say that this information will be considered by R&D and depending on feedback from customers (I will make a note of yours), changes will be chosen for development.
I will let you know if I hear anything else. Thanks for your patience and understanding.
Regards,
04-07-2010 10:10 AM
Hello everyone,
Sorry for digging up such an old post, but I'm facing the same issue (LV8.6.1)
Is there a workaround or does a fixed version exist?
Thanks very much
Ramin