TEMP-Variable

anne

Level-1
Beiträge
347
Reaktionspunkte
2
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi,

ich habe eine FC1, in der eine TEMP-Variable deklariert ist. Diese FC1 wird in einer FC2 aufgerufen...

Frage:

Kann man in diesem Fall eine TEMP-Variable verwenden, da ich gelesen habe, dass eine TEMP-VAR nur innerhalb des Bausteins, in dem sie deklariert wurde, gültig ist - hier wird ja aber die FC1 auch in der FC2 verwendet?

Lieben Dank!
 
Hallo,
wenn du die TEMP-variable des ersten FC's im zweiten FC verwenden willst, so geht das nur über die Schnittstelle des Bausteins (also z.B. als IN-Parameter übergeben).

Gruß
LL
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ok danke LL,

das heißt, in der FC1 kann ich schon eine Variable, z.B. "Test", als TEMP-Var deklarieren.

Möchte ich diese Variable "Test" jedoch in einer zweiten FC (hier FC2) verwenden, so muss die TEMP-Variable "Test" als IN-Parameter übergeben werden. Schreibe ich dann einfach diese Variable "Test" in den IN-Bereich der FC2 oder wie funktioniert das?
 
Zuletzt bearbeitet:
... und beim Aufruf von FC2 im FC1 übergibst du die TEMP "myTemp" vom FC1 an den IN_Parameter des FC2.

...

... aber die FC1, in der die TEMP-Var "myTemp" deklariert ist, wird ja in der FC2 aufgerufen! Ich übergebe aber trotzdem die TEMP "myTemp" vom FC1 an den IN_Parameter des FC2, oder?
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
... aber die FC1, in der die TEMP-Var "myTemp" deklariert ist, wird ja in der FC2 aufgerufen! Ich übergebe aber trotzdem die TEMP "myTemp" vom FC1 an den IN_Parameter des FC2, oder?

Also im FC2 steht Call FC1?

Dann müsstest du im FC1 eine Out-Var in die Schnittstelle integrieren z.B. 'OutA'.
Im FC1 schreibst Du die interne Temp-Var 'myTemp' auf 'OutA'.
Beim Aufruf von FC1 im FC2 hast du dann die Var 'OutA' aus FC1 (entspricht dann 'myTemp') im FC2 zur Verfügung.
 
Danke, aber klar ist es mir noch immer nicht... :confused:

1) Ich deklariere in der FC1 eine TEMP-Variable namens "myTemp".

2) Ich rufe die FC1 in der FC2 mittels "Call FC1" auf.

3) In die IN-Schnittstelle der FC2 schreibe ich nochmals die Variable "myTemp" mit gleichem Datentyp wie auch in der FC1.

Es wird aber in der FC2 nach keinen Aktualparametern gefragt, da die Variable in der FC1 ja eine TEMP-Var ist. Irgendwas kann noch nicht ganz stimmen, oder?
 
Danke, aber klar ist es mir noch immer nicht... :confused:

1) Ich deklariere in der FC1 eine TEMP-Variable namens "myTemp".

2) Ich rufe die FC1 in der FC2 mittels "Call FC1" auf.

3) In die IN-Schnittstelle der FC2 schreibe ich nochmals die Variable "myTemp" mit gleichem Datentyp wie auch in der FC1.

Es wird aber in der FC2 nach keinen Aktualparametern gefragt, da die Variable in der FC1 ja eine TEMP-Var ist. Irgendwas kann noch nicht ganz stimmen, oder?

1) ja
2) ja
3) nö, muss nicht sein

Die Schnittstelle von FC1 hat die Temp-Var 'myTemp'.
Damit du die aber nach drausen (also raus aus dem FC1) bringst, musst du im FC1 eine OUT-Var deklarieren.
Im FC2 brauchst du keine 'myTemp'.

Dein FC2 sieht in etwa so aus ...
Code:
U M n.n
= A n.n

CALL FC1
  OutA: MW 10  //hier kann irgendeine Var stehen, auch eine Temp-Var von FC2
               //je nachdem was du mit der Var weiter machen möchtest

L MW 10
T MW 20

U E n.n
= M n.n
Dein FC1 sieht in etwa so aus ...
Code:
...
L #myTemp
T #OutA  //in der Schnittstelle von FC1 als OUT deklariert
...
Du könntest dann evtl. sogar auf die myTemp Variable verzichten, und im FC1 gleich die OutA bearbeiten.
z.B.
Code:
...
L 17
T #OutA
...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke für deine Antwort "ssound1de" - denke das ist soweit klar geworden....

Aber es macht wohl keinen Sinn in einer FC eine TEMP-Var zu deklarieren, wenn diese in einer anderen FC benötigt wird - dann ist es wohl sinnvoller gleich eine OUT-Var zu verwenden.
 
Zurück
Oben