LabVIEWForum.de
Strings import geht nicht als exe - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Application Builder (/Forum-Application-Builder)
+---- Thema: Strings import geht nicht als exe (/Thread-Strings-import-geht-nicht-als-exe)



Strings import geht nicht als exe - retlaps - 16.03.2011 16:26

Hallo zusammen,
ich hab über eine invoke node (siehe Upload) mit einem laufenden VI einem anderen, nicht ausgeführten VI, eine neue String File importiert. Das ganze dient zu Sprachumschaltung. Wenn ich jetzt aber eine exe daraus erstelle will das ganze nicht mehr.
In der Log steht bei dem normalen VI:

Mi, 16. Mrz 2011 16:21:10
############################################
############################################
VI strings successfully imported
to TEST.vi


wenn ich es mit der exe probiere nur:

Mi, 16. Mrz 2011 16:21:50
############################################
############################################

kennt sich da jemand aus?

Gruß


RE: Strings import geht nicht als exe - GerdW - 16.03.2011 16:36

Hallo retlabs,

- Fehlerausgabe geprüft? (Fehlercluster hast du ja verwendet, aber wird der auch geprüft?)
- VI-Pfad geprüft? (in einer Exe ändern sich gerne mal die Pfade, wurde schon öfter gefragt und beantwortet...)


RE: Strings import geht nicht als exe - retlaps - 16.03.2011 17:06

kommt kein Fehler und die Pfade sind auch in Ordnung.
muss ich das VI das ich ändern will irgendwie beim erstellen der exe schon mit ins projekt laden?


RE: Strings import geht nicht als exe - GerdW - 16.03.2011 20:41

Hallo retlaps,

Zitat:die Pfade sind auch in Ordnung. muss ich das VI das ich ändern will irgendwie beim erstellen der exe schon mit ins projekt laden?
Ist deine Shift-Taste defekt? Gar beide??? Smile

Es kann nicht schaden, das nachzuladende VI mit in die Exe einzubinden. Dann weiß man, von wo man es (garantiert) laden kann...

Es kommt kein Fehler? Dann scheint dein VI ordentlich geladen worden zu sein. Hast du mal geprüft, ob das VI dann auch "ordentlich" im Speicher bleibt und aufgerufen wird? Wie erzeugst du eigentlich dieses Logfile? Wie greift dein VI darauf zu?

Alles so Sachen, die man dir aus der Nase ziehen muss. Wenn du an Tipps interessiert bist, solltest du etwas ausführlicher beschreiben, was du so anstellst...

Noch was zu deinem VI:
Warum öffnest du die Referenz im FALSE-Case? Warum nimmst du das CloseReferenz nicht mit hinein in den TRUE-Case?


RE: Strings import geht nicht als exe - retlaps - 17.03.2011 10:20

Hallo,

für alle die es interessiert, hier eine Lösung.

Jetzt hab ich ja die Möglichkeit mit einer exe ein vi zu übersetzen, kann ich auch eine andere exe übersetzen (vor dem Ausführen)?

Gruß


RE: Strings import geht nicht als exe - GerdW - 17.03.2011 10:34

Hallo retlaps,

Zitat:kann ich auch eine andere exe übersetzen (vor dem Ausführen)?
Wieder mal zu wenig Infos...

- Eine LV-generierte Exe oder was ganz fremdes?
- Wie stellst du dir das genau vor? Wie willst du in einer fremden Exe was ändern (und die Änderung dann speichern)? Wie willst du in eine andere Execution-Laufzeitumgebung hineinkommen (Windows ist ein Multitasking-System mit getrennten Prozessen)?
- Warum integrierst du die "Übersetzungsfunktion" nicht in die andere Exe?


RE: Strings import geht nicht als exe - retlaps - 17.03.2011 11:22

also, es handelt sich natürlich um eine LV-generierte exe die ich übersetzen will.
Das Programm will ich nicht integrieren, da ich es extra zu dem Zweck erstelle, schon bestehende Programme ohne Änderung übersetzen zu können.
Das ganze geht auch schon sehr komfortabel, so lange es sich um vi-Dateien handelt.

Wir erstellen hier Prüfstande die mit LV basierter Prüfsoftware laufen, unsere Kunden kriegen natürlich nur die exe.
Jetzt könnte ich natürlich in meiner Entwicklerumgebung alles schön übersetzen und danach erst die exe erstellen, aber ich würde gerne wissen ob ich das auch nach dem erstellen der exe noch machen kann.

Die Frage ist jetzt deshalb ob ich das Strings importieren auch mit einer exe durchführen kann.

Gruß


RE: Strings import geht nicht als exe - GerdW - 17.03.2011 11:25

Hi retlaps,

Zitat:Die Frage ist jetzt deshalb ob ich das Strings importieren auch mit einer exe durchführen kann.
Falsch. Die Frage ist, ob du die importierten Strings dauerhaft in der Exe gespeichert bekommst!
Und das würde ich erstmal negativ beantworten...


RE: Strings import geht nicht als exe - jg - 17.03.2011 11:28

Probieren geht über studieren, aber ich habe so meine Zweifel, ob es geht.

Die Invoke-Node, die du aufrufst, funktioniert für ein VI laut Hilfe nur, wenn sich dieses im Edit-Modus befindet.
Ob das innerhalb einer Exe geht? KA
Dran glauben kann ich fast nicht.

Gruß, Jens


RE: Strings import geht nicht als exe - rolfk - 18.03.2011 12:35

(17.03.2011 11:22 )retlaps schrieb:  Das Programm will ich nicht integrieren, da ich es extra zu dem Zweck erstelle, schon bestehende Programme ohne Änderung übersetzen zu können.
Das ganze geht auch schon sehr komfortabel, so lange es sich um vi-Dateien handelt.

Die Frage ist jetzt deshalb ob ich das Strings importieren auch mit einer exe durchführen kann.

Gruß

Doppelt falsch! Wenn Du in neueren LabVIEW Versionen dann 7.1 arbeiten willst kannst Du von einer zweiten EXE nicht an die VIs in einem anderen Exe kommen. LabVIEW hat diese Möglichkeit explizit nicht mehr weil ein paar übereifrige Leute, die Angst um ihr IP in LabVIEW Executables hatten, laut aufgeschrien haben als sie erfuhren dass diese Möglichkeit besteht.

Und selbst wenn das ginge nützte es Dir nichts. Die übersetzten Strings musst Du ja auch wieder abspeichern um bei der nächsten Ausführung des Programmes mit Deiner neuen Sprache zu erscheinen und das geht in einem Exe nicht. LabVIEW Runtime unterstützt kein Speichern von VIs und auch wenn es das täte, das OS und alle Virus Scanner die etwas auf sich halten würden bei so einem Versuch eines Executables sich selber zu verändern GANZ laut reklamieren.

Das Ausführen von Import Text Strings hat zumindest in LabVIEW 6 auch in einem Exe funktioniert aber das war nie eine komfortable Variante. Wir haben dann unsere eigenen Tools entwickelt die per VI aus einem gemeinsamen Ini artigen Textfile die Strings in alle Anzeigeelemente importiert durch Gebrauch von Property Notes. Das Textfile ist im Prinzip eine einfache ASCII Tabelle mit den Texten untereinander und den Sprachen in horizontaler Richtung. Der Key jedes Textes ist der Controlname mit extra Information wie zum Beispiel <Name>.Label fur ein Controllaber oder <Name>.Value für den Stringdefaultwert, <Name>.True für den True Boolean Text, usw.

Unser Tool ist leider nicht zur freien Verfügung und zum Verkaufen ist es nicht genug dokumentiert aber wenn Du das nicht alles selber machen willst kannst Du auch mal hier schauen. Ist zwar nicht gratis, aber auch nur eine halbwegs funktionierende Library selber zu schreiben kostet Dich ein Vielfaches davon.