VB6 Corner

An dieser Stelle möchte ich allen Interessierten, die noch mit VB6 bzw. VB5 programmieren, ein paar Komponenten vorstellen, die ich selbst entwickelt habe.

 

Ping & Traceroute

Befehle die jeder, der etwas mit Netzwerken zu tun hat, schon einmal benötigt hat. Damit läßt sich prüfen, ob ein Netzwerkgerät erreichbar ist oder nicht. Auch auf die Qualität der Verbindung kann geschlossen werden. Der Befehl Traceroute verrät uns, welchen Weg die Datenpakete im Netzwerk nehmen.

Nun gibt es bereits eine ganze Reihe von Beispielcode zu diesem Problem. Wenn ich mir jedoch die Qualität der Lösungen ansehe, war ich bislang nicht zufrieden. Daher habe ich mir die Mühe gemacht, eine runde Lösung zu entwickeln.

Ping.ocx ist ein UserControl, mit dem ein Ping oder Traceroute zum Kinderspiel wird. Man hat die Wahl, ob man sich aus den Resultaten etwas Eigenes zusammenbasteln will oder ob man den fertigen Ausgabe-String nutzt. Es stehen alle relevanten Parameter zur Verfügung. Da MS jedoch dem Anwender nicht auf alle Parameter Zugriff gewährt, haben Manche leider keine Auswirkung. Dies trifft auf Felder wie TOS (Type Of Service) oder das DF-Bit (Don´t Fragment) zu. Weiterhin bietet das Control Zusatzfunktionen wie DNS-Auflösung und WSA-Infos.

MultiPing.exe ist ein ActiveX Server zum Pingen ganzer Netze, Bereiche oder einer Liste unterschiedlicher Adressen. Da die Einbindung in Anwendungen nicht ganz so trivial ist, habe ich eine Demo dazu bereitgestellt. Der große Vorteil von MultiPing liegt darin, daß für jeden Ping ein eigener Thread zur Verfügung gestellt wird. Dadurch ist es möglich, mehrere Pings parallel abzusetzen und nicht auf eine Antwort warten zu müssen. Wie viele Pings gleichzeitig abgearbeitet werden können, hängt von den zur Verfügung stehenden System-Resourcen  ab. In meinen Tests waren es etwa 240 parallele Prozesse.

Und noch ein Hinweis: Das Scannen von ganzen Netzen im Internet oder Firmennetz wird meist als unfreundlicher Akt verstanden und sollte daher unterbleiben.

Zum Download

 

Renumber VB

Dieses kleine Programm ermöglicht das Einfügen bzw. Entfernen von Zeilennummern in VB5 und VB6 Projekten.
Dadurch kann man die undokumentierte Funktion Erl() verwenden, um die Zeile zu ermitteln, in der der Code einen Fehler ausgelöst hat.

Dabei ist jedoch folgendes zu beachten: Die Funktion sollte unmittelbar nach Auftreten des Fehlers abgefragt werden. Am besten speichert man das Ergebnis der Funktion innerhalb der Fehlerroutine, die sich noch im gleichen Abschnitt befinden sollte, in einer globalen Variable.

                                     Zum Download

 

GridX

Mit diesem OCX kann man sehr schnell und einfach Tabellen beliebiger Größe anlegen und verwalten. Es ist bewußt einfach gehalten und besitzt keine Datenbindung. Durch das eingebaute Verschieben von Zeilen ist es auch gut für Loggings geeignet. Eine Hilfedatei, die alle Funktionen beschreibt und auch ein Beispiel enthält, ist beigefügt.

Zum Download