Doppeldeklaration

  • Hallo!


    Ich hab vor kurzem begonnen mit unserem KR140 zu arbeiten (und vorher noch nie was mit Robotern gemacht) und versuche jetzt alte Programme, die nicht mehr im Betrieb angestellte Leute geschrieben haben, zum Laufen zu bringen.
    Bei einem Programm, das ein Hauptprogramm, ein globales Unterprogramm und zwei globale Unterfunktionen enthält, bekomme ich etliche Fehlermeldungen, mit denen ich leider nicht so viel anfangen kann.


    Das src und die Fehlermeldungen sehen so aus:


    DEF main()
    ;FOLD header
    ;...
    ;ENDFOLD
    END


    ;FOLD display
    GLOBAL DEF display(text[]:IN) -->Fehler 2324: Doppeldeklaration


    DECL CHAR text[] -->Fehler 2038: Deklaration nicht im Dekl.teil
    DECL INT n_Offset --> -"-
    DECL STATE_T state --> -"-


    Bei allen folgenden Zeilen Fehler 2039: Anweisung nicht im Anweisungsteil


    $MSG_T = {MSG_T: VALID FALSE,RELEASE FALSE,TYP #NOTIFY,MODUL[] " ",PARAM_TYP #VALUE,PARAM[] " " ,DLG_FORMAT[] " ",ANSWER 0}


    WAIT SEC 0.3
    n_Offset = 0


    SWRITE($MSG_T.KEY[],STATE,n_Offset,text[])
    $MSG_T.VALID = TRUE


    WHILE $MSG_T.VALID
    WAIT SEC 0.05
    ENDWHILE


    ;ENDFOLD
    END -->Fehler 2045: END/ENDFCT/ENDDAT hier unzulässig


    ...und dann folgen noch die zwei Unterfunktionen mit den gleichen Fehlermeldungen.


    Kann mir da jemand weiterhelfen??? Was ist denn generell das Problem, wenn der Fehler "Doppeldeklaration" beim Funktionsaufruf auftaucht?


    Freu mich auf eure Antwort!

  • Schritt für Schritt zum Roboterprofi!
  • Sieht für mich so aus, als ob es die Funktion

    Code
    GLOBAL DEF display(text[]:IN)

    schon gibt. Entweder ein Modul, das display heisst, oder ein globales Unterprogramm in einem Modul, das auch display heisst. Ich nehme mal an, wenn du das GLOBAL rauslöschsts, dann werden diese Fehlermeldungen verschwinden. Ich weiss aber nicht ob das Programm, dann noch wie gewünscht läuft.


    Im schlimmsten Fall, poste doch schnell das Archiv und sag mir welches Programm die Fehler macht. Dann schau ich schnell nach wo der Hund liegt.


    lg
    drudge

    Einmal editiert, zuletzt von Drudge ()

  • Glaub, ich hab das Problem gefunden... Vermutlich hab ich irgendwo noch ein Programm/ eine Funktion mit dem gleichen Namen liegen...denn, wenn ich den Namen änder, dann ist alles Ordnung. :roll:

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