Autor
|
Thema: Flusssteuerung Programmierung (Rückgabewert) (2368 mal gelesen)
|
schuputzer8 Mitglied Student
Beiträge: 4 Registriert: 01.11.2006
|
erstellt am: 18. Mrz. 2008 10:52 <-- editieren / zitieren --> Unities abgeben:
Hallo allerseits, ich habe eine Frage bezüglich der Programmierung meiner Flusssteuerungen. Eingang: 1 Vorgänger Ausgang: 6 Nachfolger Das Ausgangsverhalten soll per Methode gesteuert werden. Wenn die Methode ausgelöst wird, dann kommt folgende Fehlermeldung hoch: "keine Parameter erwartet, übergeben: integer." Diese Methode erwartet also einen Integer-Wert. Meine Frage ist, welchen Sinn und Zweck dieser Wert hat. vielen Dank im Voraus!
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
der simulant Mitglied
Beiträge: 71 Registriert: 28.02.2007 ----------- der simulant
|
erstellt am: 18. Mrz. 2008 11:02 <-- editieren / zitieren --> Unities abgeben: Nur für schuputzer8
Hallo schuputzer8, ich hoffe mit folgendem Methodentext kann ich Dir etwas helfen : integer is r : integer; do inspect @.farbe when "blau" then r := 1; when "gelb" then r := 2; . . . . . . end; return r; end; Der Rückgabewert return r entspricht dem entsprechendem Nachfolger
Gruß der simulant Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
schuputzer8 Mitglied Student
Beiträge: 4 Registriert: 01.11.2006
|
erstellt am: 18. Mrz. 2008 11:23 <-- editieren / zitieren --> Unities abgeben:
danke schonmal für die schnelle Antwort, nur meine Frage zielt eher auf die Auslösung der Methode ab. Bei diesem Auslösevorgang der Methode durch die Flusssteuerung wird ja schon ein Parameter (integer) an die Methode übergeben. Dieser hat bei mir immer den Wert 1. Wann wird dieser Parameter übergeben (denn dies ist ja nicht immer der Fall) und wofür steht dieser? viele Fragezeichen bin dankbar für jede Antwort Gruß Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
der simulant Mitglied
Beiträge: 71 Registriert: 28.02.2007 ----------- der simulant
|
erstellt am: 18. Mrz. 2008 11:30 <-- editieren / zitieren --> Unities abgeben: Nur für schuputzer8
Hallo schuputzer8, ich muss Dir leider widersprechen. Es wird kein Wert beim Auslösen an die Methode übergeben. Das :integer am Anfang der Methode stellt den Rückgabewert dar. Das heißt, das "return r" definiert Deinen Nachfolger. (Wie vorher beschrieben ist dieser Rückgabewert im Format :integer) Gruß der simulant Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
schuputzer8 Mitglied Student
Beiträge: 4 Registriert: 01.11.2006
|
erstellt am: 18. Mrz. 2008 11:45 <-- editieren / zitieren --> Unities abgeben:
hallihallo, im einfachsten Fall würde die Methode ja dann folgendermaßen aussehen: -------------------- : integer is do return 1; end; -------------------- wenn die Flusssteuerung diese Methode aufruft, kommt folgende Fehlermeldung hoch: "keine Parameter erwartet, übergeben: integer." Ändere ich die Methode ab, -------------------- (r : integer) : integer is do return 1; end; -------------------- dann funktioniert alles! Ich verstehe eben nur nicht, warum da überhaupt was übergeben wird. Und Du sagtest ja auch, dass da normalerweise nichts übergeben wird. Ahhh! Trotzdem weiterhin vielen Dank! Gruß Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
der simulant Mitglied
Beiträge: 71 Registriert: 28.02.2007 ----------- der simulant
|
erstellt am: 18. Mrz. 2008 11:54 <-- editieren / zitieren --> Unities abgeben: Nur für schuputzer8
Hallo, Du musst natürlich wie in meinem Methodentext beschrieben, die Variable r auch deklarieren d.h. im einfachsten Fall sieht Deine Methode so aus: : integer is r : integer; do r := 2; return r; end; Gruß der simulant Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 18. Mrz. 2008 12:35 <-- editieren / zitieren -->
@schuputzer8 wenn bei Deiner Methode "etwas" uebergeben wird, dann vermute ich, dass Du die Strategie "Auswahl" gewählt hast. Bei anderen Strategien hat die formatierte Methode u.U. keinen Aufrufparameter. Zitat: Der Methode wird ein integer-Wert übergeben, der im nichtblockierenden Modus die Nummer des aktuellen Umlagerversuchs enthält.
s. Hilfe ! ------------------ Der Simulator WSL, Bruxelles
[Diese Nachricht wurde von Simulator am 18. Mrz. 2008 editiert.] |