Matt_AM Posted May 15 Report Share Posted May 15 (edited) Hey Fancy Folk, I am running into an executable error that I was hoping someone could point me in the right direction to start troubleshooting. TLDR: I can build and deploy an executable on my PC and another dev PC and the executable runs fine. However, when I deploy it on a PC without a full LV dev kit, I get error 46308 and it states that the PC needs a full development version of LV to run. I have narrowed my problem down to my code calling my PS 2-0 class through building a secondary executable and including different classes to see what is causing my problem. Long version: I've been troubleshooting this problem for about a week now and I feel like I am still lost in the woods. I have posted it over on the official NI forums here, but I haven't had success in solving the problem. I built the executable and an installer and installed said installer on a new PC (booted up for the first time 2 weeks ago). I have also installed Python 3.9 and the required toolkits so the python code can execute. I did not add anything to the OS pathing found on this white page. I am not sure if I did any pathing on my dev PC or the dev PC that was running the original test and when I checked the dev PC, nothing popped out that looks like I would have added it. The executable runs fine on my PC and other dev PCs but won't work on the new PC (deployed PC). My code uses DAQmx, Python, and COM VISAs and Instr VISAs. I have added in all the individual parts and things work as expected. However, when I add in my PS 2-0 class, I get error 46308 which states the executable needs a full development copy of LabVIEW to run. I have tried various things to solve my problem, but I am still getting the same error. I created a secondary executable and added in my Python classes and children, State machine classes and children, and PS 2-0 classes and children and rebuilt/deployed in sections. When I add in the PS 2-0 class, the executable gives me the error. I have verified there are no breakpoints in my code with VI analyzer and I ran that on the PS 2-0 classes and the dependencies section of the project to verify there were no breakpoints still set. It looks like no matter which PS 2-0 child class I use will cause my error. I'm not sure what I need to provide for someone to help with the troubleshooting process. I am assuming you'd need my PS 2-0 class and I can provide that if needed. None of it is proprietary and its basically an abstract factory architecture for the PS 2-0 class with DD to override based on the child PS 2-0 class. All the Children classes call the drivers from the MFC and I haven't added anything besides a wrappers to the MFC's VI's. I will say that some of the driver VIs are built for old version of LV so there may be some issues with those drivers? The code is attached to this post. I seem to still have an issue with the SNDCSDLM.dll file being called from the 2022 instr.vi, but it is also included in the zip file. Note, I'm still failry new to OO and this was my first attempt at it. let me know if I did a bad job because I can't get better without learning from people who are better than me. The last thing I tried was looking at the way I am doing an async call to a popup (code below). I found an article that showed which VI server property and methods aren't available in the RTE and I noticed that VI Path and VI Name are two of those, but it looks like those can't be called under specific circumstances. I added this code directly to a secondary executable that I've been using to see which part of my code is throwing the error. This VI is a simple 2 button state machine (inc a counter and stop the event struct) with the timeout case never being called. The timeout case is there to get the various parts of my code to "be seen by the RTE" (IDK the proper jargon). Below is an image of the secondary exe's VI back panel which shows that the above code from the PS 2-0 class is being loaded into the exe. In this state, the secondary exe can be run just fine on the deployed PC. However, if I enable the the disabled state (which allows a child class to call a macro to set the voltage), that will cause my executable to throw the error on the deployed PC. I don't think its an OO problem because the python and state machine classes don't cause issues and also use DD for children to override parent methods. Literally any direction is helpful because I feel like I've been bashing my head against google for waaaay too long and although I've made progress as to which section is failing, I still have 0 idea as to why my PS 2-0 Class could cause issues. At this point I think it could be something with VI properties in my PS 2-0 children or their dependencies. Thanks Matt 545624572_Matt_AMPS2-0code.zip Edited May 15 by Matt_AM Quote 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.