LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Owning library has blocked execution of the VI

Solved!
Go to solution

Hey,
I was just working on the LV-OOP workshop of Fire (find it here). Sadly, Although I am making good progress with the actual tasks, I cannot get the OOP example to run. understanding is reflected by the ability to debug - so I spent a considerable amount of time looking at things and by now, I think there must be an error in the Interface.lvclass. Reason for this is, that Section.lvclass works, while Configuration.lvclass does not - Configuration includes Interface, and Interface itself is not running.

The only helpful thread to this error message is found on the LAVA Forums:

1- One of your Dynamic Dispatch VI doesn't have the same connector pane (and data types) as its parent counterpart.
2- You have a Dynamic Dispatch VI that is set to require all child classes to override it, and one of the children doesn't override it.
3- You have a private VI that has Dynamic Dispatch input on its connector pane, which is prohibited.
4- You have one of the dynamic dispatched VI that is broken. Check all the hierarchy up to the parentmost VI.

Interface is inherited directly from LabVIEW Object. Thus, I exclude 1 and 2. I did not find anything checking for 3, but that might well be due to inexperience. As to number 4, due to hierarchy there is nothing to check (?).

 

I know it is quite much to ask to look through all this, but I cannot find the problem on my own )-: I appreciate any help.

I use LV 2013 on WinXP 32bit.

 

lvoop problem.jpg

0 Kudos
Message 1 of 15
(8,851 Views)

I downloaded the zip and when I open that vi it isn't broken.   I am running Win 7 64bit, LabVIEW 2012 32bit, haven't made any changes to the project, just unzipped and opened.

Putnam
Certified LabVIEW Developer

Senior Test Engineer North Shore Technology, Inc.
Currently using LV 2012-LabVIEW 2018, RT8.5


LabVIEW Champion



Message 2 of 15
(8,832 Views)

Hey LV_Pro,

I downloaded the file again, unpacked again and it was not working again. When I was closing the project, labview showed me probably the hint to the error:

 

version conversion.jpg

 

The conversion seems to break the code. There is no mentioning regarding changes in class behavior. Should I maybe ask a NI Engineer for help or report this as a bug (and if yes where)? It would be nice if someone with the latest LV version could verify this behavior, I will download 2012 which I uninstalled 1 week ago - damn it...

0 Kudos
Message 3 of 15
(8,806 Views)

After installing 2012, I downloaded the files again and unpacked them. I opened the project and it is not working.

This time closing the project wants to save changes - "an attribute of the project was changed".

Sadly the 2012 version is in german, so I can just hope the translation is appropriate.

 

As this problem seems to be specific to my computer, I will go ahead and ask a NI engineer (SSP can be great) and hopefully will report soon with a solution.

0 Kudos
Message 4 of 15
(8,792 Views)

Yes, the version I downloaded was in German, and the LabVIEW version I'm using is 2012.

Putnam
Certified LabVIEW Developer

Senior Test Engineer North Shore Technology, Inc.
Currently using LV 2012-LabVIEW 2018, RT8.5


LabVIEW Champion



0 Kudos
Message 5 of 15
(8,781 Views)

When going though errors like this, one thing you have to focus on is the errors marked with a red X.

They are normally on the top of the list.

 

The error you are showing, migth not be an error, but a ripel from a higher level error in the project.

Try showing us the top error from the error dialog box, that will help us more.

 

This is a normal feature when woirking with OOP in LabVIEW.

If a parent or a child of a class is having an error in a method, the rest of the children can be locked.

Message 6 of 15
(8,780 Views)

@LV_Pro: Let me state corrected as I wrote that one in a bad way: The LabVIEW Version 2012 I downloaded to verify a possible conversion bug was in german, so I hope my translation of the error message to english was appropriate.

 

@dkfire: The list feels endless, but you are right, there are plenty of red X on the top. They all refer to DB-Configuration.lvlib which is, according to the manual, not implemented (but lots of VIs are available though).

These VIs seem to utilize Database VIs, which are not included in my LabVIEW. Therefore, I just removed the DB-Configuration.lvlib from the project. Anyhow, they still yield errors in my error list and these errors do not change regardless of the lvlib being removed from the project. To my best knowledge, The DB Classes are neither called nor accessed by the OO Example that I wanted to have a look at.

This is a screeny of the top of the error messages, sadly, there is no way of expanding it.

 

DB Problem.jpg

 

You stated, "If a parent or a child of a class is having an error in a method, the rest of the children can be locked."

As Configuration.lvclass is a child of Interface.lvclass and DB-Configuration.lvclass is a child of the Configuration.lvclass, you say, the parents must not be executed anymore? While I do not doubt your words as this seems to be reality, I wonder WHY?!

That is like because one new car design fails working, the whole concept of cars gets forbidden. This makes it virtually impossible to work on existing, executable code without rendering it useless for other users - really without any need.


As the working hypothesis is that this child needs to be aborted (is that a proper OOP term?), how can I do that? Removing it from the project (taking it away from the family) obviously was not enough...

 

On the other hand, the other child of Interface.lvclass, Configuration.lvclass, which is runnable has two own children. Ini-File.lvclass is properly implemented, while XML-File.lvclass only consists of the .ctl with no implementation done till now (rendered as "not ok", albeit it is only an empty cluster).

 

This is just confusing to me by now.

0 Kudos
Message 7 of 15
(8,771 Views)

This just might be the difference between yours and LV_Pro LabVIEW versions.

 

You are sure that this ODBC-Interface class is not used/referenced anywhere in the project.

From the looks of the Class Hierarchy, this class is part of a child relationship of the configuration class.
 

0 Kudos
Message 8 of 15
(8,762 Views)

Hello Questionmarker,

 

I've tested that project on a win 7 64Bit system. With my german LV 2012 SP1 version the VIs you refer to are shown as blocked. In my english LV 2013 everything is fine.

 

 

Andreas Gareis
Senior Applications Engineer, NI
Certified LabVIEW Developer & TestStand Architect
Message 9 of 15
(8,758 Views)

@AndGar: Thanks for testing, luckily I am not the onliest one. Although still no clear trend in reproduction is aparent

 

@dkfire: I updated my prior answer accordingly to your question.

0 Kudos
Message 10 of 15
(8,754 Views)