Hallo zusammen,
mal eine Frage zum Verständnis: Ich würde gern eine Applikation schreiben, in der es mir möglich ist, nachträglich Module (z.B. zur Auswertung von aufgezeichneten Werten) zu ändern, ohne die komplette Applikation neu kompilieren zu müssen. Ist so etwas überhaupt möglich? Und wenn ja wie?
Gruß
Daniel
Da habe ich selbst keine Erfahrung, aber nach meiner laienhaften Vorstellung müßte das gehen. Es ist doch möglich, SubVis - also Module - als DLL zu kompilieren. Bei einer Änderung müßte dann nur die DLL ausgetauscht werden, aber nicht das gesamte Programm neu kompiliert werden.
Hallo kwakz,
du kannst eine DLL einbinden, wie schon vorgeschlagen.
Du kannst aber auch direkt VIs aus deiner EXE heraus aufrufen.
Diese können einzeiln, in LLBs oder in lvlibs vorliegen. Wichtig ist nur: die VIs müssen in der Version der verwendeten LV-RTE vorliegen…
(30.10.2015 17:00 )GerdW schrieb: [ -> ]Du kannst aber auch direkt VIs aus deiner EXE heraus aufrufen.
...das habe ich selbst schon gemacht.
Auf diese Weise kann man ein scriptbasiertes Programm erstellen, das je nach Scriptdatei VIs aufruft und diese abarbeitet. Dann muss man sich nur etwas Gedanken um die (möglichst universelle) Schnittstelle machen und hat so eine erweiterbare Applikation, ohne die EXE neu kompilieren zu müssen.
Die SubVIs kann man auch verschlüsseln, so dass diese niemand so einfach von außen einsehen kann. Selbst Controls auf dem FP könnte man ausblenden und programatisch wieder einblenden, so dass von außen nur ein leeres FP sichtbar ist.
Gruß, Marko
Vielen Dank für die Hinweise ... das werde ich probieren.
Gruß
Daniel
Weiterer Vorschlag: Zwischending zwischen LabVIEW VIs und DLL wäre eine Packed Library (zu erstellen über die Build Specs).
Gruß, Jens