(23.08.2018 13:18 )GerdW schrieb: [ -> ]Zitat:Was mich daran nur bisher irritiert hat: Eine Funktion kennt ja die Parameter einer anderen Funktion nicht. Und dieses Cluster ist ja quasi ein Parameter-Cluster. Liege ich aber richtig damit, dass ihr dieses Cluster eher als Attribute-Cluster als als Parameter-Cluster bezeichnen würdet?
Für mich ist das ein Cluster, der Daten enthält.
Wie definierst du "Attribute" und "Parameter"?
Ich meine "Attribute" im OOP-technischen Sinne. Eine Klasse besteht ja aus Attributen und Methoden/Funktionen. Wenn das VI, das ich gepostet habe, eine Klasse darstellen soll wenn man OOP-mäßig in LV programmiert (oder liege ich da falsch?), stellt dann das besagte Cluster in einem Schieberegister die Attribute dar?
Die SubVIs wären dann die Funktionen (einzeln betrachtet eher private Fkt., alle zusammen eher öffentliche). Mit Parameter meine ich die Werte, die einer Funktion, also den SubVIs übergeben werden -was ja auch das Cluster ist.
Das Cluster ist also beides: Attribute und Parameter. Nur an Parametern werden ja normalerweise nur die benötigten übergeben und nicht einfach alle. Daher die Frage, ob ich richtig verstanden habe, dass dieses Cluster eher die Attribute als die Parameter darstellt -im OOP-technischen Sinne.
Aber anstatt solche Fragen zu stellen sollte ich wahrscheinlich eher mich von Grund auf mit LVOOP beschäftigen...
(23.08.2018 13:47 )IchSelbst schrieb: [ -> ]"Erstellen" ist doppeldeutig. Daher folgendes:
Das Erstellen des Clusters geschieht zur Entwicklungszeit, nicht zur Laufzeit. Wo dieser Cluster erstellt wird, in der FGV oder in einem Extra-VI, ist egal. Nach der Erstellung liegt der Cluster als Typdefinition (.cls-Element) auf Platte vor. Den Erstellungsort gibt es zur Laufzeit nicht mehr.
Zur Laufzeit wird eine Instanz von der Typdefinition erstellt und auch mit Werten vorbesetzt (die Vorbesetzung kann implizit oder explizit erfolgen). Diese Erstellung würde ich auf jeden Fall in der FGV machen. Nämlich im Case Create ...
...quasi einen Konstruktor anlegen? Sollte diese Case-Struktur mit einem Create-Case von einem Enum-Anschluss (mit unter anderem einem Create-Element) bestimmt werden?
Zitat:Zitat:Was mich daran nur bisher irritiert hat: Eine Funktion kennt ja die Parameter einer anderen Funktion nicht.
Das ist auf jeden Fall richtig
Richtig? -Wenn ich GerdW richtig verstehe, dann kennen die Funktionen (SubVIs?) doch die Parameter der anderen Funktionen, weil sie ja alle das komplette Cluster mit allen Parametern übergeben bekommen...
Zitat:Zitat:Liege ich aber richtig damit, dass ihr dieses Cluster eher als Attribute-Cluster als als Parameter-Cluster bezeichnen würdet?
Das führt jetzt aber zu weit: Ein Parameter ist eher ein "Übergabe-Parameter", also das, was im Funktionskopf steht, bzw. das, was der Eingang des VIs ist.
Das wäre dann in meinem VI die Tastatureingaben, also diese 4 Boolean-Elemente, nicht die Schieberegister die ich in einem Cluster zusammenfassen soll, so wie ich es momentan verstehe.
Zitat:Ein Attribut ist eine Eigenschaft, also eher eine logische Beschreibung des Objektes.
Attribute beschreiben den Zustand des Objektes denke ich. Und das träfe auf das Datencluster ja zu...
Aber gleich wie auf die Antwort auf GerdWs Post muss ich wohl sagen, dass anstatt solche Fragen zu stellen sollte ich wahrscheinlich eher mich von Grund auf mit LVOOP beschäftigen... Ihr könnt mir schwer ALLES in einem Thread beibringen. Aber vielen Dank für den Versuch! Ich will euch aber nicht überbeanspruchen...
Ich werde das Teil erstmal überarbeiten und dann wieder posten, alles andere führt an der Stelle zu weit im Moment....