«

»

Jan
23

Visual Basic 6 Überlauf bei einfacher Berechnung

Ein altbekannter Visual Basic Bug:


Private Sub Command1_Click()
Dim i As Long
i = 16000 * 3
End Sub

Ergibt den Fehler “Überlauf” mit der Fehlernummer “6″.

Problem hier ist das die Zahl “16000″ intern als Integer geführt wird und er versucht auf den Integer den Wert “48000″ zu Schreiben, das wiederrum geht nicht da Integer nur bis 32k geht.

Die Lösung hier ist den Datentyp (long) explizit anzugeben:


Private Sub Command1_Click()
Dim i As Long
i = CLng(16000) * 3
End Sub

Dolle Sache – dieses VB :-)

Hinterlasse eine Antwort

Ihre E-Mail-Adresse wird nicht veröffentlicht.

Sie können diese HTML-Tags verwenden: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

What is 2 + 3 ?
Please leave these two fields as-is:
IMPORTANT! To be able to proceed, you need to solve the following simple math (so we know that you are a human) :-)