![]() |
Sprachfeature mit Verzweigung in record-Definition
Hallo zusammen!
Ich verstehe die folgenden Zeilen Code nicht, die mir heute über den Weg gelaufen sind:
Delphi-Quellcode:
Sowas habe ich persönlich noch nicht gesehen. Ich verstehe nicht, was für ein Integer hier ausgewertet wird und ich verstehe auch nicht, was in den einzelnen Fällen dann mit dem record passiert. Wenn der Integer 0 oder 1 ist, ändert sich dann der Typ des records oder was??!?!?!
_BLUETOOTH_ADDRESS = record
case Integer of 0: (ullLong: BTH_ADDR); // easier to compare again BLUETOOTH_NULL_ADDRESS 1: (rgBytes: array [0..5] of Byte); // easier to format when broken out end; Hülfe! :pale: |
Re: Sprachfeature mit Verzweigung in record-Definition
Das ist ein Varianter Record (in C++ als union bekannt)
1. Es gibt gar keinen Integer, in dem Record, das iist nur ein Sprachkonstrukt ;) 2. Das wird datz benutzt, um denselben Speicher auuf mehrere Arten anzusteuern. Du kannst also ein BTH_ADDR reintun, und auf dieselben Bits als Array[0..5] of Byte zugreifen ;) Alles Klar? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:22 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz