Visual Basic - Technik, FAQ, Tricks, Beispiele

Home / Allgemein / Entwicklung / Dim

Variablendeklarationen

Über Sinn und Zweck von Variablen-Deklarationen wurde schon an anderer Stelle genügend gesagt (s.a. Pfui oder Hui?). Hier möchte ich nur einige Tipps für den täglichen Umgang damit geben:

Variablen prüfen lassen

Im Deklarationsteil eines jeden Moduls und Formulars sollte immer zuerst die Programm-Zeile
Option Explicit
stehen. Diese sorgt dafür, dass VB bei Programmstart mit einer Fehlermeldung reagiert, falls eine Variable nicht deklariert worden ist. (Dies geschieht bei "voller Kompilierung", kann übrigens mit Strg+F5 via Tastatur erzwungen werden.) Der Cursor springt dabei automatisch zu der unbekannten Variablen. So können z.B. Schreibfehler schnell gefunden werden.

VB kann diese Zeile übrigens automatisch für uns einfügen, dazu muss in den Editor-Optionen der Punkt "Variablendeklaration" aktiviert werden. (Traurig aber wahr: Standardmäßig ist dies deaktiviert!) Leider funktioniert dies nur für Module und Formulare, die neu hinzugefügt werden. Bei bereits bestehenden Dateien muss Option Explicit manuell hinzugefügt werden.

Richtig deklarieren

Ein oft gemachter Fehler auch (oder gerade?) von alten Programmierer-Hasen ist folgender: Es werden in einer Zeile mehrere Variablen deklariert, z.B. so:
Dim x, y, z As Long
Welchen Dateityp haben diese drei Variablen? Im Gegensatz zu C, Pascal oder anderen Sprachen ist hier nur z als Ganzzahl deklariert worden, die beiden anderen Variablen haben den Datentyp "Variant"! In VB müssen die Dateitypen nämlich für jede Variable wiederholt werden. Also muss für obiges Beispiel korrekt geschrieben werden:
Dim x As Long, y As Long, z As Long
Da man folglich nur wenig Tipperei sparen kann, mache ich persönlich die Deklarationen gleich Zeilenweise:
Dim x As Long 'sinnvoller Kommentar   :-)
Dim y As Long
Dim z As Long
Dies hat den großen Vorteil, dass hinter jeder Deklaration Raum für einen kleinen beschreibenden Kommentar für den Variableninhalt bleibt.

© Jost Schwider, 02.01.2001-02.01.2001 - http://vb-tec.de/vardim.htm