Ralf Hüsing

Januar 23, 2008

Visual Basic 6 Überlauf bei einfacher Berechnung

Abgelegt unter: Hirndefekt, Programmierung — ralf @ 12:24 am

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 :-)

Keine Kommentare »

Noch keine Kommentare.

RSS-Feed für Kommentare zu diesem Artikel. TrackBack-URL

Einen Kommentar hinterlassen

Powered by WordPress ( WordPress Deutschland )