Änderungen an Datentypen für Visual Basic 6.0-Benutzer
Aktualisiert: November 2007
In Visual Basic 2008 werden Datentypen aktualisiert, um Interoperabilität mit anderen Programmiersprachen und mit der Common Language Runtime zu gewährleisten. Die Änderungen haben Auswirkungen auf die Deklaration, die Nutzung und die Konvertierung von Datentypen.
Visual Basic 6.0
In Visual Basic 6.0 wird mit den Deftype-Anweisungen – DefBool, DefByte, DefCur, DefDate, DefDbl, DefDec, DefInt, DefLng, DefObj, DefSng, DefStr und DefVar – der Standardtyp einer Variablen festgelegt.
Der Currency-Datentyp wird für Festpunktrechnungen und Berechnungen verwendet, die mit Zahlungsmitteln zu tun haben.
Ein Datum (Date) wird mit acht Bytes in einem Double-Format gespeichert.
Bei der Multiplikation zweier Variant-Variablen, die ganze Zahlen enthalten, wird der Datentyp des Ergebnisses durch eine Überlaufbedingung in Double geändert.
Mit der LSet-Anweisung und der RSet-Anweisung kann eine Variable eines benutzerdefinierten Typs in eine weitere Variable eines anderen benutzerdefinierten Typs kopiert werden.
Visual Basic 2008
Die Deftype-Anweisungen werden in Visual Basic 2008 nicht unterstützt. Der Currency-Datentyp wird ebenfalls nicht unterstützt. Verwenden Sie stattdessen den neuen Decimal-Datentyp, der bei allen Währungsvariablen und -berechnungen mehr Stellen auf beiden Seiten des Dezimalkommas verarbeiten kann. Decimal wird auch von der Common Language Runtime direkt unterstützt.
In Visual Basic 2008 verwendet der Date-Datentyp den DateTime-Datentyp der Common Language Runtime, der einem ganzzahligen 8-Byte-Wert entspricht. Aufgrund dieser unterschiedlichen Darstellungen gibt es keine implizite Konvertierung zwischen den Datentypen Date und Double. Für Konvertierungen zwischen Double und der Visual Basic 6.0-Darstellung von Date können die ToOADate-Methode und die FromOADate-Methode der DateTime-Struktur des System-Namespaces verwendet werden.
Wenn zwei Object-Variablen, die ganze Zahlen enthalten, multipliziert werden und zu einem Überlauf führen, wird das Ergebnis in den 64-Bit-Datentyp Long geändert.
Mit LSet und RSet können Datentypen einander nicht zugewiesen werden. Hierzu wären typunsichere Operationen erforderlich, die insbesondere bei Strukturen einen nicht überprüfbaren Code zur Folge haben könnten.
Siehe auch
Konzepte
Änderungen an der Unterstützung von Programmierelementen (Zusammenfassung)
Referenz
Decimal-Datentyp (Visual Basic)
Funktionen für die Typkonvertierung
Datentyp: Zusammenfassung (Visual Basic)