From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

X Control Distribution (Bug?)

[Cross-posted to LAVA]

 

Howdy!

I have having the following issue:

This distribution contains an X control that when dropped from the palette breaks its linkage (see video), the palette was created manually. 
I also have tested selected it from disk: "Select a Control..." and I get the same broken image
So it seems the distribution has been "corrupt" somehow??


Note that the .xctl sits in another Library (used to namespace the distribution)
Attached Image
When I put this Library in memory the broken X Control relinks (see video).
If I save to disk and reopen without the library in memory the x control seems ok.

Does anyone know why this could be happening? Posted Image 

 

 

Video: http://www.screencast.com/t/MTc2YzcyNT



Certified LabVIEW Architect * LabVIEW Champion
0 Kudos
Message 1 of 41
(6,228 Views)

I can't edit my post due to a timeout... how annoying.

Anyways so extra info:

 

 

Version: LabVIEW 2009.
 
The Libraries are locked and there are no dirty dots to suggest a linking issue.

I used the NI Build Spec to create the distribution, renaming the Namespace Library only. 

Certified LabVIEW Architect * LabVIEW Champion
0 Kudos
Message 2 of 41
(6,213 Views)

Hello jg-code,

 

After looking at this behavior, I would like to test this on my machine. Is it possible to post it on the forum so I can test it?

 

I have been able to add this example LED xcontrol from online to my control pallete without an issue. Let's try this and see if the error occurs. When you are adding this, first don't create a subdirectory for it. You can place it into User controls. If this works, let's then remove it and place in your xcontrol in to see if it works. If it did work, then let's create a subdirectory and place the LED xcontrol in to see if this works. If this works, we can repeat the process with the other control.

 

 

I hope information helps you and if you run into anymore trouble, please feel free to post.

 

JimS

Message 3 of 41
(6,173 Views)

Hi Jim (are you from NI?)

 

I would like to solve this as soon as possible, so thank you very much for your offer to test! 

 

I have an reuse strategy in place that does not involve user.lib,  

Please find attached zip file that contains a package for the problem code and also .vipc dependencies [you are using VIPM right? :)]

 

Please let me know what you find!

 

Cheers

-JG 

 

Certified LabVIEW Architect * LabVIEW Champion
Message 4 of 41
(6,156 Views)

Hi Jim

 

I just did some more testing based on what you said and below are my results:

 

1 - Drop code into User.lib

I dropped my code into User.lib in a new folder.

But because I compiled the Libraries (class, xtcl and support VI) into their own LLBs I still had to use a custom a palette (as one is not autogenerated for VIs in LLBs).

Therefore I used the Control MNU file (already created) I and still got the same broken XControl issue. 

 

Libraries.png 

2 - Create Src Dist as Flat Structure

This way only showed the controls (.ctl) files in the directory!

Namely Data.ctl and State.ctl from the XControl and any type defs used!

It did not link to the .xctl file (which is a bit pointless if you ask me)

 

 

Controls.png 

 

So I could not actually drop the Xcontrol from here!

However, I did a drag and drop from disk and I got the same result - a broken XControl.

When I load the Library into memory - then drag and drop its all good. 

 

Functions.png 

 

3 - Create MNU file for #2

I use the LabVIEW Palette Editor to edit the autogenerated controls palette (with Data.ctl, State.ctl etc..) and added the .xctl to it.

I then tried to drag and drop the .xctl to the FP and got the same broken XControl. 

 

4 - Additional original distribution problem 

The class methods in my functions palette have read crosses next to them. This indicates an issue with scope and/or license as mentioned by Daklu and AQ in LAVA here

 

Red Crosses.png 

 

As I can drop the method onto the block diagram (it is public) and the VI is not broken?

But these two problems do not seem to be a related with my release.

Is it a bug? 

Do you know what could be causing this? 

 

Flat File distribution and palettes are attached.

[Code is in LV2009] 

 

 

Cheers

 

-JG 

 

Please Help! 

Message Edited by jg-code on 05-20-2010 09:57 PM
Certified LabVIEW Architect * LabVIEW Champion
0 Kudos
Message 5 of 41
(6,148 Views)

Ok I tried the following:

Not renaming the "namespacing" Library (top level) during the build process.

Not Password Protecting the "namespacing" Library (top level) during the build process.

No luck - still having the same issue. 

 

I removed the "namespacing" Library (top level) and just build the xctl and class and this works fine dragging from disk.

 

Cheers

 

-JG 

 

PS- By the way if there are any passwords in the code I posted they are set to "icon" 

Certified LabVIEW Architect * LabVIEW Champion
0 Kudos
Message 6 of 41
(6,135 Views)

Hey jg-code,

 

Sorry for the confusion in the first post. I am from NI. I realized after the timeout that I was in a different account so I couldn't fix it.

 

Unfortunately I am not using vipc or ogp file so I wasn't able to look at the xctrl. Could you post just the library for the xcontrol so I can test it?

 

Also were you able to add the xctrl I posted to a palette? If you haven't, can you try this by following the steps in this help file? When adding this, please place it to User Control palette. If this works, let's repeat these steps but use your xctrl in its place. I want to rule out the possibility that there is something wrong with adding any xctrl in LabVIEW from this machine.

 

If you could post back with this information and the xctrl library, I can start looking into this further. Thanks.

 

JimS


Jim St
National Instruments
RF Product Support Engineer
Message 7 of 41
(6,091 Views)

Hi Jim

 

Thanks for replying back - is the approach the same as lodging support with NI?

Before today, as I hadn't heard back I was going to go through the support section - as I need some NI support on this problem. 

Do we just continue here?

 

*** 

 

Attached is the code and mnu files.

In terms of where they get stored on my machine: 

All Code: <vi.lib>\addons\_ICON Library\State Display 

Mnu Files: <vi.lib>\addons\_ICON Library\dynamic_palette 

However, you should be able to drop these into User.lib just fine.

 

Yes I have tried AQ's LED Xctrl and it works fine from User.lib

I think it may be a problem with the Xctrl being in a top level Library? 

Therefore I took AQs code and stuck the Xctrl under a Top Level Library

Then I copied it to User.Lib and viola - I get the same broken Xctrl from a drag and drop.

I have uploaded my edited version of the LEDXctrl- can you please confirm that you do/don't see this too?

 

Additionally I added a reference of my Xctrl to a class and it ran fine in source code.

When I went to build the application I got the following message:

 

I get the point.png 

 

There is not much on the web about 302208 that was helpful, a search mentions run time engine mismatches etc.. but that was not an issue

 

On trying to find the cause of this I got the following shorter error message from the app. Again the KB says missing drivers. 

 

Short Error.png 

 

The build process was also crapping out, saying it was done in seconds (but really this build takes ~ 5-10 minutes due to class etc...) 

LabVIEW would the crash. 

 

Builder Crapout.png 

 

I found the issue which was having a reference to an Xctrl in a class. 

It was in the Class so I could encapsulate UI changes. 

The class was part of my work project application (not related to the Xctrl distribution at all) 

I have to further investigate this to see if it is related to the original problem above or not.

But I thought it was worth a mention.

This happened yesterday so I am a few hairs short today 🙂

 

Love to hear what you find.

 

Cheers

 

-JG 

Certified LabVIEW Architect * LabVIEW Champion
0 Kudos
Message 8 of 41
(6,066 Views)

Hey Jg-code,

 

I tested this XLed ctrl in a library in the User.lib and the vi.lib and I was able to see the broken icon like you were describing. I retested this with the orginal XLed in the user.lib that wasn't in the library and it worked perfectly like you were saying. I am going to take this example up to R&D to see why this is occurring.

 

As for the other error, I couldn't find any reason for this error other than the discussion forums that you found which didn't seem to be related. I would need to look into this one further and probably escalate this as well. At this point though, I think these two are separate issues so I am going to focus on this Xcontrol broken icon issue first.

 

Finally, posting on the forums is much different than creating service request with NI. If you have purchased NI's support, you can call or email in to get direct support with an application engineer who works with you on specific problems. The application engineer will have your information so that they will be able to contact you directly about this issue. The other benefit with this is that you also can contact the engineer through your service request number through email or on the phone. With this support there is also a faster turn around.

 

If you do want to make a service request from this, please inform me of this so I can keep my eyes when it is created.

 

JimS.


Jim St
National Instruments
RF Product Support Engineer
Message 9 of 41
(6,043 Views)

Hi Jim

 

I am glad you are able to see this happening (so its not just me!)

 

Also kudos for all the info and help in this thread!

 

I work for a NI Alliance Partner over here and I have gone ahead and phoned an AE and lodged a service request with NI Support (so please keep those eyes open!). 😉

 

Service Request Issues 

I would like to just summarise that there are three main issues posted in this thread that I would like addressed (they may or may not be related?):

 

  1. Having an Xctrl as a public member of a Library creates a broken control when dropped from disk or the palette unless the Library is opened in memory first.
  2. Using the LabVIEW Palette Editor to create a palette shows red crosses ("x") in the bottom left hand corner for class member VIs when that Class is a public member of a Library (and the Class members VIs are public also). The red crosses are seen in the palette but not in the palette editor at time of creating the palette.
  3. Adding an Xctrl reference to a Class works fine in source, but broke my build at run time.

 

 

Additionally

 

  1. I don't know whether this is a feature request or bug, but User.lib automatic palette for a folder does not add the Xctrl to the Control Palette. What do you think? I should show all control types (.ctl, .ctt and xctrl?)

 

 

 

 

Certified LabVIEW Architect * LabVIEW Champion
0 Kudos
Message 10 of 41
(6,035 Views)