Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 2 von 2

Thema: Vererbung und Übergabe von Strukturen in CoDeSys 3

  1. #1
    Registriert seit
    29.09.2005
    Beiträge
    124
    Danke
    6
    Erhielt 2 Danke für 2 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    kann mir jemand erklären, warum ich eine Struktur, die ich von einer anderen erben lasse, an eine Struktur vom Typ der Basisstruktur übergeben kann, obwohl diese ja kleiner ist, als die erbende Struct, allerdings nicht umgekehrt?
    Also eine Struktur vom Basistyp lässt sich nicht an die Struktur vom vererbten Typ zuweisen, da gibt es einen Compilerfehler.

    Macht in meinen Augen gar keinen Sinn, oder?

    Gruß

    Jochen
    Zitieren Zitieren Vererbung und Übergabe von Strukturen in CoDeSys 3  

  2. #2
    Registriert seit
    09.11.2007
    Ort
    Rhein Main (Darmstadt)
    Beiträge
    652
    Danke
    59
    Erhielt 112 Danke für 80 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Das wird allein aus Sicherheitsgründen so implementiert sein.

    All diese Casts haben ja das Problem, dass verschiedene Memory Bereiche aufeinander abgebildet werden. So ein Downcast auf die Basis ist sicher, wenn der Compiler Entwickler das fachmännisch implementiert hat. Ein Upcast ist da schon heikel, das kann man ggf. machen, wenn man absolut sicher ist, aber bei einer SPS?

    Andere Sprachen haben da dynamische Überprüfungen (dynamic_cast in C++ und Java) eingebaut, die z.B. einen NULL Pointer liefern, wenn es nicht passt.

    Ich denke, was bei Siemens so ein Any Pointer ist, wird dort genau für solche wackeligen Constructs verwendet, kann aber auch ganz anders sein.

    In C war es früher sehr üblich (void)* nach überall hin zu casten, da blieben halt immer mal wieder die Programme hängen und keiner wusste warum.
    Als Freelancer immer auf der Suche nach interessanten Projekten.
    Zitieren Zitieren Sicherheit  

Ähnliche Themen

  1. Step 7 Vergleichen von Strukturen
    Von Chräshe im Forum Simatic
    Antworten: 21
    Letzter Beitrag: 01.06.2015, 21:04
  2. Vererbung von C# Klassen
    Von Benni im Forum Hochsprachen - OPC
    Antworten: 12
    Letzter Beitrag: 07.11.2011, 11:30
  3. TwinCAT V2.11: Vergleichen von Strukturen
    Von Chräshe im Forum CODESYS und IEC61131
    Antworten: 8
    Letzter Beitrag: 10.08.2011, 15:28
  4. Antworten: 17
    Letzter Beitrag: 14.08.2008, 14:45
  5. Antworten: 3
    Letzter Beitrag: 07.03.2008, 11:09

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •