The Ghost VI?
I always wanted to create a category of posts where we could interact a bit around these strange little behaviors that might happen when you write LabVIEW code. They could be bugs, or tricks, or expected behaviors. So I decided to call it the Fun Facts category!
For these posts, I'll try to catch your attention and make you think/work. Your only job is to explain what's going on in the following GIF, or more precisely, why this happens. Feel free to comment if you think you found the solution, or if you have questions (even though this should be self-explanatory).
Why does the Ghost.vi VI vanish from the project after being added to the XControl? Is this desired? You are not allowed to see what's inside the VI—maybe that's of interest, maybe not.
So I guess it's time for an answer! I hope you had some time to search by yourself.
This strange behavior is absolutely expected from NI (even though that's a pity!), and you could find a similar limit while dealing with LV classes: recursion.
A LV class cannot be composed by one of its instance—but can be composed by an ancestor instance.
A XControl cannot contain itself. And this is valid for any of its member VIs (not only the abilities).
The mysteriously vanishing Ghost.vi is nothing more than a VI that contains the HorizontalList.xctl XControl on its front panel!