' schrieb:Hallo,
wie kann ich denn mit LabVIEW Speicher (z.b.) für einen Puffer allokieren? Geht das über die Queue-Funktionen? Kann ich der Queue-Anforderung einen unbestimmten Typ übergeben? Was bekomme ich (dann) zurück? Kann ich den Pointer auf den Speicherbereich der Queue sonst irgendwie übergeben also nicht den Queue-Ausgang, sondern direkt den Pointer?
Sry, dass ich so viele Fragen in einer Stelle, aber die LV-Hilfe ist hier mal wieder absolut intransparent.
Wofür willst Du denn das überhaupt? Also LabVIEW selber arbeitet natürlich intern schon mit Pointern und so aber auf Diagrammebene ist das mit voller Absicht nicht verfügbar. Ist auch der Grund warum Du LabVIEW VIs programmieren kannst ohne Dich immer um die korrekte Allozierung von Speicher kümmern zu müssen.
Der einzige Grund wo das noch Sinn macht, ist wenn Du einen solchen Buffer an eine DLL übergeben müsstest. Und da geht das auch. Einfach ein Bytearray (oder String) anlegen in LabVIEW und an die Call Library Node verbinden. Den entsprechenden Parameter dann als Array Datenpointer oder String Datenpointer konfigurieren.
Aber denke daran, LabVIEW verfügt über diesen Buffer nach der Rückkehr der Call Library Node nach Belieben, d.h. wenn Du diesen Buffer an eine asynchrone DLL Funktion gibts die erst später etwas damit machen will, geht es auf diese Weise meist schief.
Rolf Kalbermatter
PS: Danke i2dx für die Erklärung. Nein ich kenne die Fraggles nicht. Bin da wohl schon zu alt und mein Kleiner noch etwas zu jung.
Andererseits vermute ich bei Anderen (und bei Dir im Speziellen) nicht automatisch Böswilligkeit wenn ich etwas nicht verstehe. ^_^
Rolf Kalbermatter