05.12.2012, 10:56
Beitrag #1
|
curby23523
LVF-Grünschnabel
Beiträge: 14
Registriert seit: Nov 2012
8.6
2011
DE
Deutschland
|
Falsches Laden von Vis?
Hallo,
ich denke mal, das gehört eher hier hin als allgemeines Problem.
Ich habe Probleme mit der Initialisierung eines Gerätes. Ich gehe davon aus, dass es sich nicht explizit um ein Problem mit diesem Gerät oder DLL handelt, sondern ein LabView/System internes Problem ist.
Folgende Szenarien stellen sich ein:
1. Wenn ich LabView starte und ein gespeichertes Vi öffne und starte, wo das Initialisierungs-Vi drin vorkommt, wird das Gerät (ein Monochromator von Andor) nicht initialisiert. Nun kann ich soviele Vis öffnen oder erstellen, das Gerät wird nie initialisiert, wahrscheinlich muss durch das abgespeicherte Vi etwas falsch geladen oder konfiguriert werden.
2. Wenn ich LabView starte, ein neues Vi erstelle, dort das Vi zum Initialisieren des Monochomators platziere und dieses Vi NICHT abspeicher, lassen sich alle anderen Vis, wo diese Initialisierung stattfindet, ordnungsgemäß starten und durchführen. Hier wurde jetzt scheinbar das Vi aus dem Speicher genommen, welches ich beim Erstellen des nicht abgespeicherten Vis am anfang geladen habe.
Also wenn ich ein Programm ausführen will, wo die initialisierung des Monochromators stattfindet, muss ich ganz am Anfang, wenn ich LabView starte ein neues Vi erstellen, dieses NICHt abspeichern und dort das Initialisierungs-Vi platzieren.
Wenn ich mir dieses Initialisierungs-Vi anschaue ist es in allen belangen (eigener Pfad und DLL Pfad) identisch mit den abgespeicherten Initialisierungs-Vis.
Kann sich das jemand erklären?
mfg
Nils
|
|
|
08.12.2012, 16:16
Beitrag #2
|
rolfk
LVF-Guru
Beiträge: 2.305
Registriert seit: Jun 2007
alle seit 6.0
1992
EN
2901GG
Niederlande
|
RE: Falsches Laden von Vis?
(05.12.2012 10:56 )curby23523 schrieb: Hallo,
ich denke mal, das gehört eher hier hin als allgemeines Problem.
Ich habe Probleme mit der Initialisierung eines Gerätes. Ich gehe davon aus, dass es sich nicht explizit um ein Problem mit diesem Gerät oder DLL handelt, sondern ein LabView/System internes Problem ist.
Folgende Szenarien stellen sich ein:
1. Wenn ich LabView starte und ein gespeichertes Vi öffne und starte, wo das Initialisierungs-Vi drin vorkommt, wird das Gerät (ein Monochromator von Andor) nicht initialisiert. Nun kann ich soviele Vis öffnen oder erstellen, das Gerät wird nie initialisiert, wahrscheinlich muss durch das abgespeicherte Vi etwas falsch geladen oder konfiguriert werden.
2. Wenn ich LabView starte, ein neues Vi erstelle, dort das Vi zum Initialisieren des Monochomators platziere und dieses Vi NICHT abspeicher, lassen sich alle anderen Vis, wo diese Initialisierung stattfindet, ordnungsgemäß starten und durchführen. Hier wurde jetzt scheinbar das Vi aus dem Speicher genommen, welches ich beim Erstellen des nicht abgespeicherten Vis am anfang geladen habe.
Also wenn ich ein Programm ausführen will, wo die initialisierung des Monochromators stattfindet, muss ich ganz am Anfang, wenn ich LabView starte ein neues Vi erstellen, dieses NICHt abspeichern und dort das Initialisierungs-Vi platzieren.
Wenn ich mir dieses Initialisierungs-Vi anschaue ist es in allen belangen (eigener Pfad und DLL Pfad) identisch mit den abgespeicherten Initialisierungs-Vis.
Kann sich das jemand erklären?
mfg
Nils
Könnte es sein dass in dem Verzeichnis in dem die DLL liegt die Du anwählst in der Call Library Node noch andere DLLs vorkomen. LabVIEW weiss nichts von diesen DLLs, und Windows verwendet den Standardsuchpfad wenn es die erste DLL versucht zu laden, um jeweilige weitere referenzierte DLLs zu laden. Eine der Lokationen die Windows dabei durchsucht ist der Current OS Pfad und dieser wird durch den Standarddialog auf das Directory gesetzt wo zuletzt ein File selektiert wurde. Beim Starten von LabVIEW ist dieser Pfad aber auf das Directory gesetzt wo das LabVIEW.exe Programm liegt.
|
|
|
14.12.2012, 08:39
(Dieser Beitrag wurde zuletzt bearbeitet: 14.12.2012 08:42 von curby23523.)
Beitrag #3
|
curby23523
LVF-Grünschnabel
Beiträge: 14
Registriert seit: Nov 2012
8.6
2011
DE
Deutschland
|
RE: Falsches Laden von Vis?
Die zu ladende DLL liegt direkt im LabView Ordner zusammen mit der labview.exe und ja, es liegen scheinbar noch anderere DLLs dort, die in Verbindung stehen.
Die zu ladende DLL gibt es nur einmal an dieser Position.
Wenn ich also LabView starte, müsste er doch diese DLL laden?
Also wenn ich LabView starte, ein neues Vi erstelle und dort dieses Initialisierungs-Vi platziere, wird er die richtigen DLL Pfade erkennen, wenn ich allerdings ein abgespeichertes VI lade, wird er dort andere Pfade suchen? Aber wie kann das gehen, wenn die DLLs nur einmal vorhanden sind? Sucht er vll an einem Platz, wo er die gar nicht finden kann (z.b. System32 oder ähnliches)?
|
|
|
| |