luke Posted September 21, 2006 Report Share Posted September 21, 2006 HELP!!! I have to run many dynamic (I need polymorphism) VIs simultaneously, but I cannot make them reentrant (labview tells me that this is not supported!). I made an exaple to show that VIs do not run simultaneously: the correct bhaviour is that the execution time of the two parts should be the same, instead one of the two VIs waits the other to complete excution. Someone has suggestions on how to solve the problem? I really need help Luca Download File:post-2982-1158831171.zip Quote Link to comment
luke Posted September 22, 2006 Author Report Share Posted September 22, 2006 PLEASE HELP ME!!!!! Quote Link to comment
crelf Posted September 22, 2006 Report Share Posted September 22, 2006 PLEASE HELP ME!!!!! Read this and then this, then don't come out of your room until you've had a think about what you've done. Quote Link to comment
luke Posted September 22, 2006 Author Report Share Posted September 22, 2006 Read this and then this, then don't come out of your room until you've had a think about what you've done. Thank you! That is really helpful! Quote Link to comment
LAVA 1.0 Content Posted September 22, 2006 Report Share Posted September 22, 2006 In LabVIEW Object-Oriented Programming (LVOOP) Dynamic Methods cannot be reentrant. You have to make your method static by opening its connector pane, right clicking the dynamic dispatch terminals and selecting required or recommended instead of dynamic dispatch terminal. However, you cannot override such a method. If you need to be able to override your method, you can write a dynamic method to return you a VI reference for a static method. You then call this static method using call by reference node. This way you can dynamically determine correct static method to call, which can be reentrant. If all of the above was nonsense to you, then you should study LVOOP in more detail. Start by opening your LabVIEW help. Quote Link to comment
crelf Posted September 22, 2006 Report Share Posted September 22, 2006 Thank you! That is really helpful! You're welcome - anytime Quote Link to comment
luke Posted September 22, 2006 Author Report Share Posted September 22, 2006 In LabVIEW Object-Oriented Programming (LVOOP) Dynamic Methods cannot be reentrant. You have to make your method static by opening its connector pane, right clicking the dynamic dispatch terminals and selecting required or recommended instead of dynamic dispatch terminal. However, you cannot override such a method. If you need to be able to override your method, you can write a dynamic method to return you a VI reference for a static method. You then call this static method using call by reference node. This way you can dynamically determine correct static method to call, which can be reentrant. If all of the above was nonsense to you, then you should study LVOOP in more detail. Start by opening your LabVIEW help. This makes sense! Thank you for the idea! I will try that! Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.