(17.03.2016 11:56 )TobSTAR schrieb: Hallo Solution-Team,
hier mal wieder eine Frage. Dennis hatte hier mal ein Toolkit vorgestellt: http://www.labviewforum.de/Thread-LabVIE...it-BarCode genau das brauche ich, aber leider habe ich Probleme mit der Einbindung in LV 2014. Mir wird nicht der volle Funktionsumfang in der Funktionspalette angezeigt (siehe Bild 1). In der dazugehörigen LLB (siehe Bild 2) sind deutlich mehr Funktionen ersichtlich.
Hat einer einen Tipp was ich bei der Implementierung falsch gemacht habe bzw. anders machen muss? Oder gibt es einen Weg aus der LLB die gewünschten VIs zu exportieren?
Wie immer vorab schon mal besten Dank
Eine LLB kann eine Menu Palette haben die der Entwickler der LLB editieren kann. Wenn die LLB dann in die LabVIEW Menu Palette eingefügt wird schaut LabVIEW ob so eine Palette in der LLB anwesend ist und wenn dem so ist fügt es diese ein. Wenn keine Menu Palette in der LLB ist, generiert LabVIEW eine neue mit allen VIs in der LLB drin.
Der Entwickler dieser LLB hat scheinbar gedacht, dass diese VIs alles ist, was ein gewöhnlicher Benützer dieser LLB benützen sollte. Alles andere sind Hilfs-VIs die von diesen öffentlichen Funktionen irgendwie benützt werden und ohne eingehendes, tiefgehendes Verständnis der Library wohl nicht für sich selber nutzbar sind. Sicher die Express VI Funktion wird intern viele Hilfs-VIs benützen die ausserhalb dieses VIs völlig nutzlos sind.
Füge eines der VIs das in der Palette verfügbar ist in ein Diagramm und dann öffnest Du das Diagramm davon und schaust Dir an was darin verfügbar ist und von den VIs darin wieder dasselbe und so weiter. Wenn jemand sich schon die Mühe gemacht hat die LLB Menu Palette explicit zu editieren hat das immer einen guten Grund. Alle VIs die dort nicht vorhanden sind hat der Entwickler als nicht öffentlich angesehen und daher entfernt. Benützung davon direkt in Deinem eigenen Code hat eine sehr grosse Chance, dass eine neue Version der Library Deinen Code bricht.
Das ist jedenfalls wie ich es handhabe. Bei VIs die in der öffentlichen Menu Palette verfügbar sind gebe ich mir Mühe dass bei neuen Versionen keine Inkompatibilitäten entstehen, bei den anderen hat der Benützer der diese VIs direkt verwendete halt Pech gehabt wenn er eine neue Version meiner Library installiert.
Die neuen LabVIEW Libraries erlauben dem Entwickler um die Sichtbarheid von VIs explicit einzuschränken. Private VIs sind nicht nur nicht sichtbar in der Menupalette sondern explizit nicht aufrufbar von ausserhalb der Library. Das ist dann auch die bevorzugte Art von Library für Neuentwicklungen. LLBs haben aber einen kleinen Vorteil, da sie alles in einem File verpacken. Die Nachteile überwiegen im Allgemeinen aber (keine Multilevel-Hierarchy, keine richtige Zugriffskontrolle über VIs (private und öffentliche Methoden), grosses binäres Blob das effizientes Source Code Control unmöglich macht, usw.