(07.10.2011 11:24 )M@rRy schrieb: Hey hey,
ich spiele gerade ein wenig mit den Variant-Klötzen und bin da auf etwas gestossen was ich mir noch nicht so Recht erklären kann. Ich hab einfach einen erstellten Task (einen AO) genommen und den Varaint gewandelt und wieder zurück um ihn dann zu starten und zu beschreiben. Das geht allerdings nicht, kann mir jemand sagen warum? Bin ja schon neugierig jetzt. Ich meine das erste Bild im Anhang. Das zweite funktioniert so. Doch ich hätte da eigentlich keinen Unterschied erwartet.
Gruß
Es gibt einen grundlegenden Unterschied zwischen einer Task und einem Channel. Der Task enthält zwar auch die Channels als Properties aber ist im wesentlichen einfach ein Refnum. Das heisst man sollte es wie einen Pointer sehen. Und Pointer sind nun einmal nur im Kontext sinnvoll, in dem sie angelegt wurden. Man könnte jetzt argumentieren dass dies in Deinem Fall ja gegben ist und das stimmt zwar aber es macht wenig Sinn. Was Du da tust is ja eignentlich eher sinnlos, den die Task kann ja auch direct durchverbunden werden und Flatten oder Umsetzung in Variants wird hauptsächlich verwendet wenn man Daten zwischen Applikationsinstanzen übertragen will. Und hier kann der Transfer eines Tasks prinzipbedingt nicht funktionieren. Ich gehe deshalb davon aus dass das Umsetzen einer Refnum in eine Variant sogar absichtlich fehlschlägt. Damit wird dem LabVIEW Programmierer der Unterschied erspart, wenn man dies lokal in einem VI testet und dann überrascht wird, wenns remote nicht mehr funcktioniert.