SQL-LV funktioniert als vi, aber nicht als exe - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +---- Forum: Datenbank & File IO (/Forum-Datenbank-File-IO) +---- Thema: SQL-LV funktioniert als vi, aber nicht als exe (/Thread-SQL-LV-funktioniert-als-vi-aber-nicht-als-exe) Seiten: 1 2 |
SQL-LV funktioniert als vi, aber nicht als exe - Hendrik - 18.03.2020 21:41 Hallo liebe Leute, ich verzweifel an einem Problem mit der Free ODBC to LabView Library von Danny Holstein: Link: http://sql-lv.sourceforge.net/ Alles funktioniert einwandfrei, wenn ich das vi direkt in LabVIEW starte. Erzeuge ich jedoch eine exe, dann erhalte ich den Fehler "Fehler 5001 bei Invalid Reference, sql-lv could't connect". Bereits im ersten Schritt liefert sql_open.vi als refnum eine "0", wenn ich die exe ausführe. Das entsprechende vi liefert eine funktionierende refnum. Ich verwende LabVIEW 2017 auf einem Windows 10 Rechner und die neueste Version von sql-lv, um damit über ODBC auf eine Firebird-Datenbank zuzugreifen. Auf dem angehängten Bild sieht man ein Minimalbeispiel zur Verdeutlichung des Problems. Im Vordergrund ist die exe, die als refnum "0" ausgibt. Im Hintergrund sind Blockdiagramm und Frontpanel des entsprechenden VIs, das eine gültige refnum ausgibt. Ich wäre so dankbar, wenn mir jemand weiterhelfen könnte! RE: SQL-LV funktioniert als vi, aber nicht als exe - 83Daniel - 19.03.2020 08:09 Hat das VI denn keinen Fehlerausgang? Evtl. könnte dort stehen was genau das Problem ist. RE: SQL-LV funktioniert als vi, aber nicht als exe - Hendrik - 19.03.2020 22:12 Doch, es hat einen Fehlerausgang. Dieser gibt aber keinen Fehler aus, der Status ist angeblich ok und entsprechend gibt auch keine weiteren Hinweise auf einen Fehler. Erst die nachfolgenden VIs beschweren sich dann über die "invalid reference". Ich habe das Minimalbeispiel um ein Anzeigelement erweitert, das den Errorcluster anzeigt (siehe angehängter Screenshot). Außerdem habe ich das Blockdiagramm von sql_open.vi angehängt. RE: SQL-LV funktioniert als vi, aber nicht als exe - Trinitatis - 20.03.2020 01:01 Hallo Hendrik, das Problem wird wie fast immer, wenn das VI funktioniert, die EXE aber nicht, in einer Pfadzuweisung liegen. Lass dir mal auf dem Frontpanel den Pfad der Funktion "Application directory" in VI und dann in der EXE ausgeben. Die LV-Hilfe sagt: Wenn Sie dieses VI von einer eigenständigen Anwendung aus aufrufen, gibt dieses VI den Pfad zu dem Ordner aus, in dem sich die Anwendung befindet. Wenn Sie dieses VI von der Entwicklungsumgebung aus aufrufen und das VI in eine LabVIEW-Projektdatei (*.lvproj) geladen ist, gibt das VI den Pfad zum Ordner der Projektdatei aus. Bei einem ungespeicherten Projekt gibt das VI <Kein Pfad> aus. Wenn sich das Haupt-VI nicht in einem Projekt befindet, gibt das VI den Pfad zum Verzeichnis des VIs aus. Bei einem ungespeicherten VI gibt das VI <Kein Pfad> aus. Da wird´s wohl dran hängen. Gruß, Marko RE: SQL-LV funktioniert als vi, aber nicht als exe - Hendrik - 20.03.2020 06:42 Den Fehler hab ich am Anfang wirklich auch gemacht. Er hat dazu geführt, dass eine dll nicht gefunden wurde und das Programm nicht ausführbar war. Das Problem habe ich aber behoben. Ich denke der Fehler liegt jetzt woanders, weil das Minimalbeispiel ja auch ohne jede Fehlermeldung ausgeführt wird. Die ausgegebene refnum stimmt nur nicht. Oder kann es trotzdem daran liegen? RE: SQL-LV funktioniert als vi, aber nicht als exe - 83Daniel - 20.03.2020 08:15 Ich habe es bei mir zum laufen gebracht, indem ich einfach alle Dateien des sql-lv mit zur Exe kopiert habe... welche jetzt bei dir genau fehlt, kann ich nicht sagen RE: SQL-LV funktioniert als vi, aber nicht als exe - Trinitatis - 20.03.2020 08:37 (20.03.2020 01:01 )Trinitatis schrieb: Lass dir mal auf dem Frontpanel den Pfad der Funktion "Application directory" in VI und dann in der EXE ausgeben. Hallo Hendrik, hast du das mal ausprobiert? Dann siehst du, ob die DLL korrekt aufgerufen wird. Gruß, Marko RE: SQL-LV funktioniert als vi, aber nicht als exe - Freddy - 23.03.2020 10:44 Hallo Trinitatis, Zitat:Make (Windows): So stehts (nur Ausschnitt) auf der Download Seite hast Du das überprüft? Gruß Freddy RE: SQL-LV funktioniert als vi, aber nicht als exe - Trinitatis - 23.03.2020 14:43 (23.03.2020 10:44 )Freddy schrieb: ... Hallo Freddy, ich habe nix überprüft. Wenn aber eine DLL aufgerufen wird, was im VI klappt und in der EXE nicht, dann kann man ja erstmal prüfen, ob der Aufrufpfad zur DLL überhaupt der erwartete ist. Gruß, Marko RE: SQL-LV funktioniert als vi, aber nicht als exe - 83Daniel - 23.03.2020 15:22 Es funktioniert, wenn alle *.dll Dateien aus der llb mit in dem Data Ordner der Applikation liegen |