INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Asynchroner Aufruf eines VIs klappt nicht in der EXE



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

09.03.2021, 09:39
Beitrag #1

Msengxxl Offline
LVF-Grünschnabel
*


Beiträge: 20
Registriert seit: Sep 2008

LV2017 & LV2020
2007
DE

78087
Deutschland
Asynchroner Aufruf eines VIs klappt nicht in der EXE
Hallo zusammen,

ich habe folgendes Problem:

Ich habe einen asynchronen Aufruf eines VIs in meinem Hauptprogramm, dass u.a DaqMx und einige Express-VIs (Filter usw.) benutzt).
In der LV-Entwicklungsumgebung (LV 2017) funktioniert der Aufruf perfekt. Wenn das Ganze kompilliert wurde, schlägt der Aufruf immer fehl.
Ich bin mir ziemlich sicher, dass es daran liegt, dass bestimmte Sub-VIs nicht gefunden werden und es nicht richtig geladen werden kann.

Folgende Dinge habe ich schon versucht, ohne Erfolg:

-Die komplette vi.lib und instr.lib in das Programmverzeichnis zu kopieren
-Beim Compiler die alte LabView 8.X Struktur einzustellen
-Die Express-VIs in normale SubVis umzuwandeln
-Mass-Compile des asynchronen VIs

Das Problem ist auch, dass ich gar nicht weiß, an welchen SubVIs es liegen könnte.
Durch die Nutzung der Filterfunktion sind das haufenweise VIs die, geladen werden.
Gibt es eine Möglichkeit festzustellen, an welchem VI es liegt?

Wie gesagt, wenn ich es in LabView öffne, funktioniert ja alles.

Für eure Hilfe wäre ich dankbar.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.03.2021, 10:14
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.467
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Asynchroner Aufruf eines VIs klappt nicht in der EXE
Hallo Msengxxl,

Zitat:Wenn das Ganze kompilliert wurde, schlägt der Aufruf immer fehl.
Ich bin mir ziemlich sicher, dass es daran liegt, dass bestimmte Sub-VIs nicht gefunden werden und es nicht richtig geladen werden kann.
Welche Fehlermeldung bekommst du?
Wie erfolgt der Aufruf?
Verwendest du eine statische VI-Referenz?

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.03.2021, 10:31
Beitrag #3

Msengxxl Offline
LVF-Grünschnabel
*


Beiträge: 20
Registriert seit: Sep 2008

LV2017 & LV2020
2007
DE

78087
Deutschland
RE: Asynchroner Aufruf eines VIs klappt nicht in der EXE
Ich benutze das "VI-Referenz öffnen"-VI und gebe den Pfad des aufzurufenden VIs relativ (abhängig vom Anwedungsverzeichnis) weiter.

Folgender Fehler kommt:

Fehler 1003 bei Invoke Node:

Mögliche Ursachen:

LabVIEW: (Hex 0x3EB) The VI is not executable. This error may occur because the VI is either broken or contains a subVI that LabVIEW cannot locate. Select File>>Open to open the VI and verify that you can run it.VI Path: C:\LVsvnc\IR_MRD_Systemtest\IR_MRD Systemtest\builds\IR_MRD_SystemTest\MRD_Systemtest\asynchVIs\recordSpeedAsynch.vi



Gibt es vielleicht eine Möglichkeit den namespace des aufzurufenden VIs auf den Standard-namespace zu ändern?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.03.2021, 10:59
Beitrag #4

GerdW Offline
______________
LVF-Team

Beiträge: 17.467
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Asynchroner Aufruf eines VIs klappt nicht in der EXE
Hallo Msengxxl,

ist es möglich, statt des Pfades eine statische VI-Referenz zu verwenden?
Damit stellst du sicher, dass das VI in das Executable inkludiert wird, inkl. aller seiner Dependencies…

Alternativ könntest du ein Duplikat deines VIs speichern (VIHierarchie speichern) und dabei veranlassen, dass alle Dependencies (inkl. vi.lib) mit zur Kopie gepackt werden…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.03.2021, 16:09
Beitrag #5

Msengxxl Offline
LVF-Grünschnabel
*


Beiträge: 20
Registriert seit: Sep 2008

LV2017 & LV2020
2007
DE

78087
Deutschland
RE: Asynchroner Aufruf eines VIs klappt nicht in der EXE
Hallo,

danke für die Antwort. So ähnlich habe ich es jetzt auch gelöst: Ich habe das asynchrone VI mittels einer statischen Referenz ins Haupt-VI eingebunden.
Es wird dort zwar noch nicht aufgerufen, aber dann werden alle Dependencies in den Speicher geladen und ich muss mich nicht mehr drum kümmern.
Wenn ich dann später meinen asynchronen Aufruf starte, klappt alles wie es soll.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Absturz beim Aufruf eines SubVIs TSC 18 12.175 07.06.2013 08:36
Letzter Beitrag: TSC
  Fehler beim Aufruf eines SubVIs im XControl Hasenfuss 2 3.739 24.04.2013 09:39
Letzter Beitrag: macmarvin
  Aufruf eines Sub-VIs (relativ) skywalker 1 3.200 13.09.2012 07:28
Letzter Beitrag: Kasi
  Automatische Konfiguration eines Knotens zum Aufruf externer Bibliothekn (CLF) Georg Zit 5 6.536 06.09.2012 15:35
Letzter Beitrag: Georg Zit
  Aktivierung klappt nicht mstefan26 9 11.176 13.07.2012 16:01
Letzter Beitrag: NWOmason
  LV reagiert nicht auf das Drücken eines Buttons Chillchamp 4 6.590 09.12.2010 15:59
Letzter Beitrag: abrissbirne

Gehe zu: