Gibt es in CodeSys V3 eine Möglichkeit herauszufinden, von wo man gerade aufgerufen wurde (Methode oder Objekt)?Ich könnte eine Variable anlegen und diese mitgeben, dann wüsste ich, welche Methode gerade aufgerufen wird. Möchte dies aber nicht so realisieren? Bei Schrittketten gibt es ja den SFCCurrentStep, mit diesen Parametern kann ich bestimmen, welcher Schritt gerade aktiv ist. Gibt es so etwas auch bei Methoden oder den Objekte??
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
-
2012-05-14
Originally created by: Bernhard Werner
Nein, so eine Möglichkeit gibt es nicht. Prinzipiell könnte man natürlich jegliche Art von Information generieren und zur Laufzeit verfügbar machen,
aber das wäre schon ein gewaltiger Overhead für eine beschränkte Anzahl von Verwendungen. Es bleibt also nichts anderes als die Methoden, in denen man
gerne wissen möchte von wo man aufgerufen wird, mit einem zusätzlichen Parameter zu versehen und den richtig zu versorgen.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Gibt es in CodeSys V3 eine Möglichkeit herauszufinden, von wo man gerade aufgerufen wurde (Methode oder Objekt)?Ich könnte eine Variable anlegen und diese mitgeben, dann wüsste ich, welche Methode gerade aufgerufen wird. Möchte dies aber nicht so realisieren? Bei Schrittketten gibt es ja den SFCCurrentStep, mit diesen Parametern kann ich bestimmen, welcher Schritt gerade aktiv ist. Gibt es so etwas auch bei Methoden oder den Objekte??
Originally created by: Bernhard Werner
Nein, so eine Möglichkeit gibt es nicht. Prinzipiell könnte man natürlich jegliche Art von Information generieren und zur Laufzeit verfügbar machen,
aber das wäre schon ein gewaltiger Overhead für eine beschränkte Anzahl von Verwendungen. Es bleibt also nichts anderes als die Methoden, in denen man
gerne wissen möchte von wo man aufgerufen wird, mit einem zusätzlichen Parameter zu versehen und den richtig zu versorgen.
Ja, es ist möglich:
1) Setze einen Breakpoint in der gewünschten Methode.
2) Schaue, was im Call Stack steht (in der Menüleiste View/Ansicht, dann Call Stack).
Originally created by: Bernhard Werner
Na ja, ich bin mal davon ausgegangen, dass sysV3 programmatisch den Aufrufer ermitteln will.
Und dann geht es nicht.
Bernhard Werner