LabVIEWForum.de
Programmversion anzeigen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Application Builder (/Forum-Application-Builder)
+---- Thema: Programmversion anzeigen (/Thread-Programmversion-anzeigen)

Seiten: 1 2


Programmversion anzeigen - monoceros84 - 19.10.2007 08:47

Hi

Ich möchte ganz simplerweise die aktuelle Version meiner Anwendung auf dem Frontpanel anzeigen lassen. Und zwar nicht die Revision-Version des VIs oder die LabVIEW-Version, mit der die App entwickelt wurde... Wirklich die Programmversion meiner erzeugten Exe, die im Application Builder festgelegt wird und bei jeder Exe über Rechtsklick im Explorer -> Eigenschaften -> Version angezeigt werden kann.

Versucht habe ich es mit diversen Nodes:
Property Node App -> Version Number
Property Node VI -> History -> Revision Number
Invoke Node App -> Get VI Version

Alle bringen nicht das gewünschte Ergebnis. Hat jemand eine andere Möglichkeit auf Lager?


Programmversion anzeigen - VDB - 19.10.2007 09:06

Ja, hättest du die SuFu benutzt:

http://www.LabVIEWforum.de/index.php?showt...;hl=exe+version

VDB


Programmversion anzeigen - monoceros84 - 19.10.2007 09:42

Ok danke. Logisch habe ich erst die SuFu genutzt, das hier aber nicht gefunden. In der Zwischenzeit habe ich die entsprechende NI Seite aber selbst gefunden. Nur damit lassen sich meine Probleme nicht lösen:

Ich habe das VI "GetFileVersion_DoNet.vi" auf dieser Seite versucht. Es läuft super...
http://digital.ni.com/public.nsf/allkb/935...625711E0055F1FA
Wenn ich nun aber eine Application damit erzeugen will, erscheint ein Error, dass das VI "broken" ist und ich sicherstellen soll, dass es auch wirklich lauffähig ist. Aber wie gesagt - es läuft ja. Könnt ihr das mal versuchen? Was mache ich falsch?

Weiterhin gibt es ja auf der Seite noch die Variante mit der Windows API, aber die habe ich gar nicht erst zum Laufen gebracht...

Und nun kommt noch der Hammer, damit es nicht ganz so einfach wird: Das Programm wird auf einem Realtime Target laufen. Sind dort die .NET-Funktionen überhaupt verwendbar? Die Variante mit der Window-API fällt aus diesem Grund bestimmt schon komplett raus...


Programmversion anzeigen - VDB - 19.10.2007 11:15

' schrieb:Ok danke. Logisch habe ich erst die SuFu genutzt, das hier aber nicht gefunden. In der Zwischenzeit habe ich die entsprechende NI Seite aber selbst gefunden. Nur damit lassen sich meine Probleme nicht lösen:

Ich habe das VI "GetFileVersion_DoNet.vi" auf dieser Seite versucht. Es läuft super...
http://digital.ni.com/public.nsf/allkb/935...625711E0055F1FA
Wenn ich nun aber eine Application damit erzeugen will, erscheint ein Error, dass das VI "broken" ist und ich sicherstellen soll, dass es auch wirklich lauffähig ist. Aber wie gesagt - es läuft ja. Könnt ihr das mal versuchen? Was mache ich falsch?

Da kann ich leider nix zu sagen...

Weiterhin gibt es ja auf der Seite noch die Variante mit der Windows API, aber die habe ich gar nicht erst zum Laufen gebracht...

Tut es bei mir super.

Und nun kommt noch der Hammer, damit es nicht ganz so einfach wird: Das Programm wird auf einem Realtime Target laufen. Sind dort die .NET-Funktionen überhaupt verwendbar? Die Variante mit der Window-API fällt aus diesem Grund bestimmt schon komplett raus...

Du hättest eine Chance, PharLap unterstützt einige Windows API Calls.

VDB


Programmversion anzeigen - monoceros84 - 19.10.2007 12:02

PharLap? Nach dem, was ich rausfinden konnte, ist das ein Betriebssystem für Desktop PCs als RT Target, richtig? Dann scheidet es aber wohl aus, wenn das PXI System schon neben mir steht und auch unerlässlich ist...

Ich habe es übrigens bereits versucht: Die Variante von der NI Webseite läuft NICHT auf dem PXI System (zumindest mit den Vorraussetzungen, die standardmäßig gegeben sind).

Ich wundere mich nur, dass eine externe Windows-Routine dafür benötigt werden soll, einen Eintrag in der exe bzw. rtexe zu lesen. Diese Funktion gibt es beispielsweise in Visual Basic (das nun wirklich alles andere als OS-nah ist) schon seit ewigen Zeiten.

BTW: Kann es sein, dass die Funktion "Property Node App -> Version Number" einen Bug enthält? Laut
http://zone.ni.com/reference/en-XX/help/37...version_number/
sollte sie nämlich DIE Versionsnummer ausgeben, die im Application Builder eingegeben wird. Stattdessen gibt sie nur die LV-Version aus. Dies ging noch einigen anderen so, wie viele Beispiele im Netz zeigen.


Programmversion anzeigen - Achimedes - 19.10.2007 13:11

Hallo,
ich habe auch schon mal vergeblich versucht die Versionsnummer irgendwie auszulesen.
Habs eben auch nich hinbekommen.
Wenn jamand weis wie, wäre ich sehr erfreut.Rolleyes

Bisher mache ich es deinfach so das ich von der Exe die ich erzeugt habe immer das Datum auslese.
Dann weis ich auch wie aktuell sie ist.

[attachment=9232]

Grüße
Achim


Programmversion anzeigen - monoceros84 - 19.10.2007 13:17

Was ist das denn für ein VI zum Auslesen des Datums? Ich finde das nicht - wie heißt das?


Programmversion anzeigen - Achimedes - 19.10.2007 13:26

' schrieb:Was ist das denn für ein VI zum Auslesen des Datums? Ich finde das nicht - wie heißt das?

Das heißt "Datei/Verzeichnis-Info"

Findest du hier
[attachment=9233]


Programmversion anzeigen - monoceros84 - 19.10.2007 13:50

Danke, das ist zumindest ein Anfang...


Programmversion anzeigen - rolfk - 22.10.2007 08:06

' schrieb:Ok danke. Logisch habe ich erst die SuFu genutzt, das hier aber nicht gefunden. In der Zwischenzeit habe ich die entsprechende NI Seite aber selbst gefunden. Nur damit lassen sich meine Probleme nicht lösen:

Ich habe das VI "GetFileVersion_DoNet.vi" auf dieser Seite versucht. Es läuft super...
http://digital.ni.com/public.nsf/allkb/935...625711E0055F1FA
Wenn ich nun aber eine Application damit erzeugen will, erscheint ein Error, dass das VI "broken" ist und ich sicherstellen soll, dass es auch wirklich lauffähig ist. Aber wie gesagt - es läuft ja. Könnt ihr das mal versuchen? Was mache ich falsch?

Weiterhin gibt es ja auf der Seite noch die Variante mit der Windows API, aber die habe ich gar nicht erst zum Laufen gebracht...

Und nun kommt noch der Hammer, damit es nicht ganz so einfach wird: Das Programm wird auf einem Realtime Target laufen. Sind dort die .NET-Funktionen überhaupt verwendbar? Die Variante mit der Window-API fällt aus diesem Grund bestimmt schon komplett raus...

Vergiss es. Integration von ActiveX oder .Net macht aus jedem Realtime System eben gerade das nicht. So ein Supersaurier in einem Betriebssystem macht jede noch so grosse Mühe um Realtime zu sein zum vorneherein aussichtslos.

Das Windows API hätte noch eine gewisse Chance da es ein API ist das schon seit den Anfängen von Windows mit dabei ist und vielleicht das Pharlap sich da was Mühe gemacht hat um das auch zu implementieren. Setzt natürlich voraus das Pharlap zumindest ein PE kompatibles Fileformat benützt und da habe ich irgendwie so meine Zweifel.

Rolf Kalbermatter