Visual Basic - Technik, FAQ, Tricks, Beispiele

Home / Allgemein / Entwicklung / VB5/6/7

Unterschiede zwischen VB5 und VB6

Im Folgendem werden die wichtigsten Unterschiede der beiden Versionen von Visual Basic (VB5 und VB6) erläutert und bewertet. Dabei wird unterschieden zwischen internen Sprach-Erweiterungen und externen Komponenten. Die Frage lautet: Lohnt sich noch der Umstieg auf VB6, oder sollte man besser auf "VB7" warten?

Spracherweiterungen

String-Funktionen

VB6 enthält einige neue Funktionen zur Verarbeitung von Zeichenketten (z.B. Replace), welche viele sinnvolle Anwendungsfelder haben.

Allerdings ist deren Implementierung ungenügend: Selbst in reinem VB-Code realisierte Funktionen sind den in VB6 eingebauten Routinen nicht nur in der Geschwindigkeit überlegen (s.a. meine String-Operationen bzw. www.xbeat.net/vbspeed/).

Daher sollten in VB6 die gleichen (selbstgeschriebenen) Routinen wie schon unter VB5 verwendet werden.

Sonstiges

Sonstige in VB6 integrierte Erweiterungen sind für den professionellen Einsatz nicht zu empfehlen (z.B. WebClasses) bzw. es ist sogar davon abzuraten (z.B. alle Assistenten).

Komponenten

ADO

Diese Datenbank-Zugriffsmethode wird seit VB6 mitgeliefert und stellt (aus Sicht von Microsoft) den aktuellen Stand der Technik dar.

Für VB5 ist diese Komponente ebenfalls kostenlos verfügbar ("Universal Data Access Download", www.microsoft.com/data/download.htm). ADO ist unter VB5 exakt wie unter VB6 zu nutzen, da VB5 und VB6 ebenso wie ADO auf dem selben Objektmodell (COM/DCOM) basieren. Auch die Erstellung von Setup-Programmen stellt keine Schwierigkeit dar (s.a. Hinweise im Knowledge-Base-Artikel "Distribute ADO with VB5 Application Setup Wizard", support.microsoft.com/support/kb/articles/q184/2/65.asp).

Dass ADO in VB5 zusätzlich installiert werden muss, ist kein wirklicher Nachteil. Auch in VB6 ist eine nachträgliche Installation unumgänglich, wenn jeweils die neuste (und fehlerbereinigte) ADO-Version (z.Zt. ADO 2.6) eingesetzt werden soll.

Sonstiges

Sonstige in VB6 mitgelieferte Komponenten haben entweder ein entsprechendes VB5-Gegenstück (z.B. die Grids), oder sind für den professionellen Einsatz nicht zu gebrauchen (z.B. die diversen DataControls, DataRepeater).

Tatsächlich sollte eine professionelle Software-Entwicklung auf wiederverwendbaren und individuellen (d.h. u.U. auch selbstentwickelten) Komponenten basieren. Dies ist sowohl mit VB5, als auch mit VB6 möglich.

Ausblick

VB.NET

"VB7" wird voraussichtlich im Herbst 2001 erscheinen. Da diese Version auf der neuen ".NET"-Technologie/Umgebung von Microsoft basiert, wird VB7 nicht nur ein gänzlich anderes internes Objektmodell haben, sondern auch auf Betriebssystem-Ressourcen vollständig objekt-orientiert zugreifen. Daher wird sich sowohl die Erstellung von Programmen, als auch die Auslieferung der damit fertiggestellten Anwendungen grundsätzlich von der bisherigen Vorgehensweise unterscheiden.

Chancen und Risiken

Eine Adaption von VB5- oder VB6-basierenden Programmen auf VB7 erscheint nur schwer möglich und (dank der vielen neuen Möglichkeiten) kaum sinnvoll. Es sind aber auch keinerlei Probleme bzgl. des gleichzeitigen Betriebs von VB5/6- und VB7-Anwendungen auf dem gleichen Rechner zu erwarten. Der gleichzeitige Betrieb von VB5- und VB6-Anwendungen scheint - gerade wegen des gleichen internen Objektmodells - deutlich problematischer zu sein (in diversen Foren nachzulesen, z.B. microsoft.public.de.vb).

Resumee

Ein Umstieg von VB5 auf VB6 (bzw. eine Neu-Beschaffung) erscheint aus den oben genannten Gründen nicht sinnvoll. Außer ADO bietet VB6 keine gravierenden Änderungen. Priorität sollte folglich die bewährte Entwicklungsumgebung von VB5 haben, allerdings unter Nutzung der aktuellen ADO-Version.

Erst VB7 (genauer VB.NET) wird einen qualitativen Fortschritt bringen (z.B. "echte" objekt-orientierte Programmierung). Da aber diese Version in absehbarer Zeit nicht zur Verfügung stehen wird, sollte die Anwendungsentwicklung bis dahin mit VB5 erfolgen.

© Jost Schwider, 13.11.2000-13.11.2000 - http://vb-tec.de/vb567.htm