Programmaufruf aus Karel Programm

  • Hallo zusammen,
    ich bin gerade dabei ein Karel Programm zu schreiben aus dem heraus ich u.a. ein TPE Programm mit 2 Argumenten aufrufen möchte.
    Ich hab das so versucht: CALL_PROG('progname(60,1)',STATUS) und weiß jetzt, dass das nicht funktioniert. :huh:
    Wie muss ich das machen? Geht es überhaupt? :hilfe:

  • ANZEIGE
  • Hi Carsten,
    Generell gibt es meiner Meinung nach nicht viele Gründe warum du das Prog aus Karel heraus starten solltest.(Debugging und Verständnis: schwierig)
    Wenn doch :
    Bei den Parametern bin ich mir(eigentlich) sicher, das es nicht geht.
    Setze die entsprechenden Regs im KarelProg.
    Setze in Karel z.B F[1:ProgIsCalledByKarelPrg]= true -->SET_PORT_VAL(35,1,1,STATUS)
    Im TP-Prog dann folgendes:
    1: IF (F[1:ProgIsCalledByKarelPrg]=ON),JMP LBL[12] ;
    2: R[12]=AR[1] ;
    3: PR[11,2]=AR[2] ;
    4: LBL[12] ;
    5: ;


    Das FLAG ist nur als Beispiel zu verstehen; rücksetzten des Flags nicht vergessen.
    (Das kann jeder so sicher und/oder kompliziert machen wie man möchte)
    Generell ist bei den globalen Vars darauf zu achten: wer, was ,wann wo setzt !

    Info:

    Call_Prog() benötigst du wenn du zur Laufzeit nicht nicht weißt wie das Prog heißt.
    Vergleich: ~ TP: CALL SR[1] <==> Karel: CALL_PROG('JobXY')
    es geht aber auch:
    ...
    ROUTINE JobXYFROM JobXY-- <-- Import der TP-"Routine"
    BEGIN
    SET_PORT_VAL(35,1,1,STATUS)
    JobXY -- <-- einfach aufrufen
    END tmpCall


    Gruß
    PnsStarter

Erstelle ein Benutzerkonto oder melde dich an um zu kommentieren

Du musst ein Benutzerkonto haben um einen Kommentar hinterlassen zu können

Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Geht einfach!
Neues Benutzerkonto erstellen
Anmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden