B-PPL
needs A-PPL
Don't build PPLs which depend on PPLs inside <vi.lib>. The PPL will contain a broken link to <vi.lib> which prevents the PPL from loading. We're still trying to figure out what is going on here. We already have a minimal example for further investigation.
Normally you would call VIs from vi.lib
statically, so that they will be pulled into the PPL. In certain scenarios it might be useful (?) to call a VI outside of the PPL, which needs to happen dynamically. This works with LV native datatypes on the connector pattern only, e.g. if you hand over a class between the PPL and the other VI it won't work out of the box. The class being pulled into the PPL will get namespaced resulting in a new class name which is not compatible with the class outside the PPL. See this thread.
This might be the cause for this error when using Call By Reference:
Error 1031 occurred at Open VI Reference in PPL.lvlibp:Call By Reference.vi Possible reason(s): LabVIEW: VI Reference type does not match VI connector pane.
#todo: solve with inheritance
vi.lib\Delacor\Delacor QMH\Libraries
into a lvlibvi.lib\Delacor\Delacor QMH\Libraries
into a lvlibThe evolution of PPL usage at HSE. Each evolution needs to include the steps from previous evolutions.
example: hse-licence-library
<reporoot>\PPL
example: hse-licence-editor
<reporoot>\PPL
PPL
which contains the used .lvlibp
<reporoot>\Source\unzip PPLs.vi
XXX_INIT_CUSTOM_VI: “/unzip PPLs.vi”
in rat.ymlartifacts: paths: - PPL/*.lvlibp
not implemented, yet
challenges:
<vi.lib>
. Problems
ideas:
challenge: While creating the PPL the dependent PPLs need to be present. While building the VIP, only the zip files needs to be present - but also the zip files just created in this pipeline. example: hse-licence-manager
<name>-vip.lvproj
file with a source distribution build specification
Source\VIP
which dynamically call the installed PPL, if needed<reporoot>\PPL
as autopopulating folder (to allow zip files, which are created later)<reporoot>\Source\unzip PPLs.vi
<reporoot>\builds\src_dist
<reporoot>\PPL
<reporoot>\builds\src_dist
as Source Directory<vi.lib>Hampel Software Engineering\HSE Licence Manager\PPL
and use this for the PPL folderunzip PPLs.vi
to the correct level in the hierarchy e.g. \PPL
or \Source
Post-Install Custom Action.vi
which calls the installed unzip PPLs.vi
Post-Uninstall Custom Action.vi
which deletes the installed folder (because unpacked .lvlibp won't get deleted automatically)PPL_BLDR_CLEARBUILDDEST: “FALSE”
in rat.yml to allow building into <reporoot>\PPL
and having dependency PPL there at the same time <reporoot>\PPL
add VIP_INIT_COLLECTDESTINATION: “../PPL”
in rat.yml