Pointer und Struct

mde
2010-01-26
2010-01-26
  • mde - 2010-01-26

    Hallo,

    ich habe folgendes Problem, ich habe einen Pointer auf eine Struktur. Jetzt möchte ich auf die Parameter der Struktur zugreifen um z.b. den Inhalt des Parameters P1 an die Variable test zu übergeben.

    Struktur:

    TYPE Struct1:
    STRUCT
     P1: INT;
     P2: INT;
     P3: INT;
    END_STRUCT
    END_TYPE
    

    Programm:

    VAR
     pt: POINTER TO Struct1;
     test: INT;
    END_VAR
    test := pt.P1^;
    

    Ich bekomme immer die Fehlermeldungen

    Fehler 4001: ... Variable 'P1' nicht deklariert

    Fehler 4120: ... Vor dem '.' muß eine Strukturvariable stehen

    In Ansi C würde ich diesen Zugriff über den Pfeil-Operator -> machen.

    Danke.

    mde

     
  • mde - 2010-01-26

    Hab es schon gelöst.

    Hatte den ^-Operator an der falschen Stelle.

    VAR
     pt: POINTER TO Struct1;
     test: INT;
    END_VAR
    test := pt^.P1; 
    

    So geht es.

     

Log in to post a comment.