28.01.2010, 17:23
Hallo alle zusammen,
ich brüte gerade über einem Problem.
In meinem aktuellen Projekt bekomme ich einen großen String (ca. 180MB) aus einer dll.
Da das Auslesen der Daten mehrfach aufgerufen werden muss, habe ich ein SubVI erstellt. Dieses SubVI liegt wiederum in einem SubVI.
Wie bekomme ich jetzt die Daten am besten in das HauptVI.
Der Aufbau noch einmal genau:
- SubVI-A ruft eine dll auf. Die dll erzeugt einen String (ca. 180MB) und gibt diesen ans SubVI.
- SubVI-B ruf SubVI-A auf. In SubVI-B müssen nur ein paar Daten berechnet werden, die die dll braucht. Der String muss nur ans HauptVI durchgereicht werden.
- HauptVI ruft SubVI-B auf.
Mein erster Versuch sah so aus, dass ich die Daten in eine globale Variable schreibe und so SubVI-B garnicht mit den Daten in Berührung kommt.
Ganz optimal finde ich die Sache jedoch nicht.
Außerdem bekomme ich Probleme in meinem HauptVI. Ich muss aus dem String ein Array of Strings machen. Dazu nutze ich "Tabellen-String nach Array (Funktion)". Leider muss die Funtion neuen Speicher allokieren. Daraufhin wird es bald ein wenig eng mit dem Speicher und LabVIEW meldet häufig, dass der Speicher voll ist.
Ich bekomme es verflixt nicht hin, dass mein SubVI-A wieder aus dem Speicher verschwindet.
Wer kann mir einen Tipp geben?
Vielen Dank schon einmal!!!
Gruß
Sven
ich brüte gerade über einem Problem.
In meinem aktuellen Projekt bekomme ich einen großen String (ca. 180MB) aus einer dll.
Da das Auslesen der Daten mehrfach aufgerufen werden muss, habe ich ein SubVI erstellt. Dieses SubVI liegt wiederum in einem SubVI.
Wie bekomme ich jetzt die Daten am besten in das HauptVI.
Der Aufbau noch einmal genau:
- SubVI-A ruft eine dll auf. Die dll erzeugt einen String (ca. 180MB) und gibt diesen ans SubVI.
- SubVI-B ruf SubVI-A auf. In SubVI-B müssen nur ein paar Daten berechnet werden, die die dll braucht. Der String muss nur ans HauptVI durchgereicht werden.
- HauptVI ruft SubVI-B auf.
Mein erster Versuch sah so aus, dass ich die Daten in eine globale Variable schreibe und so SubVI-B garnicht mit den Daten in Berührung kommt.
Ganz optimal finde ich die Sache jedoch nicht.
Außerdem bekomme ich Probleme in meinem HauptVI. Ich muss aus dem String ein Array of Strings machen. Dazu nutze ich "Tabellen-String nach Array (Funktion)". Leider muss die Funtion neuen Speicher allokieren. Daraufhin wird es bald ein wenig eng mit dem Speicher und LabVIEW meldet häufig, dass der Speicher voll ist.
Ich bekomme es verflixt nicht hin, dass mein SubVI-A wieder aus dem Speicher verschwindet.
Wer kann mir einen Tipp geben?
Vielen Dank schon einmal!!!
Gruß
Sven