' schrieb:Du willst aus deinem BitteWarten eine Klasse machen und diese von mehreren parallelen Tasks aufrufen können.
Genau, das will ich.
Zitat:Soll die FGV global fürs ganze Programm laufen oder soll die Funktion der FGV überall verfügbar sein, aber pro Aufruf eine eigene Instanz benutzt werden?
Ersteres.
Ersteres bedeutet, eine Wanduhr zu haben in allen Prozessen. Weiterhin soll die Möglichkeit bestehen, mehrere Wanduhren in allen Prozessen zu haben.
Zitat:Mit dem 1 ist ja kein Problem
FGV hat einen Nachteil: Um eine Methode der Klasse auszuführen, braucht man immer drei SubVIs: FGV lesen, Methode ausführen, FGV schreiben. Problem: da ist ein Stück Datenfluß zwischen FGV lesen und schreiben, was zu RaceConditions führen kann. => Während diese drei SubVIs ausgeführt werden, muss der Zugriff auf die Klassenvariable blockiert werden => Wieder zwei Teile mehr am BD.
[*nachdenk*]
Eigentlich soll eine FGV ja lediglich Daten (Schieberegister auf While-Schleife) speichern. Das FGV so aufzubohren, dass auch Methoden möglich sind (Case-Struktur mit Enumeratoreingang), macht aus einer FGV ja schon eine Klasse.
Soll ich jetzt also das bestehende BitteWarten-Main hernehmen, einen Klassencluster reinsetzen, alle Schieberegister-Variablen in den Cluster - und fertig? - Nach außen hin wäre das dann identisch mit dem bisherigen.
Jetzt muss ich nur noch überlegen, ob dieses dann prinzipiell meinen Vorstellungen entspricht.
[/*nachdenk*]