Parameterübergabe an Prozedur

  • Hallo zusammen,


    ich habe mal wieder eine Frage:

    Und zwar habe ich eine kleine Prozedur geschrieben, an die ich insgesamt fünf Werte übergeben möchte:


    Code
    PROC pcMoveOffs(speeddata nSpeed,zonedata nZone,num nXValue,num nYValue,num nZValue)
    ...
    ENDPROC


    Wenn ich diese Routine nun aufrufe, möchte Robot-Studio das in folgender Syntax:

    Code
    pcMoveOffs(v100),z5,10,20,30;


    Normalerweise gehört ja alles innerhalb der Klammern. Komischerweise will Robot-Studio aber nur den ersten Wert in der Klammer haben, die restlichen sind außerhalb.

    Wenn ich hingegen an eine Funktion mehrere Werte übergebe, schreibe ich die, wie gewohnt alle in die Klammer.

    Also es funktioniert ja, aber kann mir jemand sagen, warum das so ist? Steckt da ein tieferer Sinn dahinter, oder ist das eher ein Bug?


    Viele Grüße,

    D-Platoon

  • AD
  • Moin,

    also Übergabewerte bei Prozeduren sind ohne Klammer zu übergeben nur bei Funktionen mit Übergabewert müssen dies in einer Klammer übergeben werden.


    Habe dein Code einmal kopiert und es geht ohne Klammer. ;-)

    Wer nichts macht, macht keine Fehler!

    Wer keine Fehler macht, kann nichts daraus lernen!

    Wer nichts lernen kann, kann sich nicht weiterentwickeln!

    Wer sich nicht entwickelt, geht unter!

  • Genau, die Klammern sind unnötig, stören den Compiler/Interpreter nicht, weil syntaktisch korrekt.

    man könnte z.Bsp. auch schreiben:

    nIrgendwas := (100)+(20)*(10);

    sollte auch als korrekt angesehen werden. Sieht halt blöd aus und ist unnötig.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account
Sign up for a new account in our community. It's easy!
Register a new account
Sign in
Already have an account? Sign in here.
Sign in Now