ActiveVB-Treffen Herbst 2001 in München
von Herfried K. Wagner
2. Treffen am 25. August 2001 in München
Am 25. August 2001 trafen sich die Mitarbeiter von ActiveVB zu einem Treffen auf dem Campingplatz in München-Thalkirchen. Wie schon beim ersten Treffen einige Monate zuvor, war nur der harte Kern von ActiveVB anwesend; mit dabei natürlich auch der ActiveVB-Gründer und API-Spezialist Götz Reinecke und Datenbankguru Florian Reischl, der zum Treffen nach München einlud. Nach langen Anfahrten der meisten Mitarbeiter, einige brauchten sogar mehr als zehn Stunden, wurden die meisten, die nicht selbst mit dem Auto kamen, von Florian am Bahnhof angeholt. An dieser Stelle vielen Dank dafür stellvertretend für alle Mitfahrer. Götz wartete bereits mit einem Studienkollegen am Campingplatz.
Nach und nach trafen die Mitarbeiter auf dem Campingplatz ein und es wurden die Zelte aufgebaut. Hier wurde uns klar, dass die reale Welt nicht nur aus Programmierproblemen sondern auch aus anderen technischen Problemen besteht…
Beim ausgedehntem Grillen wurden, nachdem sich bereits vorher einige über Visual Basic unterhielten, Erfahrungen ausgetauscht und der Ausbau von ActiveVB besprochen. Neben Problemen mit Datenbankanbindungen über das Web würden vor allem die in den folgenden Abschnitten beschriebenen Themen diskutiert.
ActiveVB SourceBook
Mit dem ActiveVB SourceBook sollte eine kommerzielle Software geschaffen werden, die folgende Bereiche umfasst:
-
ActiveVB-Archiv zum Durchsuchen, z.B. um Lösungen für Probleme zu finden. Das ActiveVB-Archiv enthält über ein Gigabyte Anfragen und Antworten. Dabei wird diese Datenbank dauernd manuell gewartet und verbessert.
-
ActiveVB-Tips können mit Beschreibung ohne Verbindung ins Internet angesehen werden. Daneben ist es möglich, über eine integrierte Schnittstelle schnell Verknüpfungen zu Tips aus der Tipsammlung im Forum zu posten.
-
Grosse Datenbank mit Tips, die ständig vom ActiveVB-Team erweitert wird und aktualisiert werden kann. Somit sind immer aktuelle Programmbeispiele enthalten, die ausführlich dokumentiert vorliegen.
-
SouceConverter zum einfachen Konvertieren von VB-Quellcode in HTML-Format, um diesen dann anschliessend in einem der ActiveVB-Foren zu posten.
-
Direkte Einbindung des ActiveVB-Forums und des ActiveVB-Chats, um in Echtzeit Lösungen für Probleme und Antworten auf Fragen zu erhalten.
Inzwischen befindet sich das SourceBook bereits in der Planungsphase, mit der Implementierung wird so schnell es geht begonnen. Das ActiveVB-SourceBook wird voraussichtlich jährlich auf einer CD erhältlich sein. Aktualisierungen der Datenbank können dann mittels eines Assistenten heruntergeladen werden.
Maushook und der Kampf gegen die Tatsachen
Diese Diskussion wurde von Herfried ins Leben gerufen, der gerade an einem Beispiel für einen globalen Maushook arbeitete. Dieses soll zeigen, wie man mit Hilfe einer in C++ geschriebenen DLL einen Maushook in Visual Basic implementieren kann. Dabei war auch an eine Statusleuchte gedacht, die anzeigt, ob die Maus gerade bewegt wird oder ob sie sich im Ruhezustand befindet. Klarerweise ist dies als eine ganz genaue Anzeige nicht realisierbar, da die WM_MOUSEMOVE-Nachrichten schnellstenfalls nur in bestimmten Intervallen an den Hook gesendet werden können. Trotzdem dauerte die Diskussion einige Stunden lang an und es wurde ausgemacht, diese beim nächsten Treffen fortzusetzen.
ApiViewer 2001
Mit dem Ersteller des ApiViewer 2001, Christoph von Wittich, wurde über eine Verbesserung der Performanz gesprochen und einige neue Dateiformate und Strategien zum schnelleren Einlesen der Daten diskutiert.
KI für Reversi
Hinter dem Akronym KI verbirgt sich der Begriff „Künstliche Intelligenz“. Ziel dieser Diskussion war es, auf eine von Darko Konrad erstellte Implementierung mit einem Benutzersteuerelement für das Reversi-Spielfeld aufzusetzen und einen intelligenten Computergegner zu implementieren, der weiter als einen Spielzug vorausdenkt. Herfried als Algorithmenfreund erklärte sich bereit, einen Algorithmus zur Berechnung aller möglichen Züge zu schreiben. Dieser funktioniert auch rekursiv, allerdings ist der Baum mit allen Spielverläufen zu gross, um auf zwei Gigabyte Platz zu finden. Daher wurde dieser Job derzeit in den Status PS_SUSPENDED versetzt und wartet auf spätere Zuteilung eines Programmierkundigen.
ccPicker
Beim ColorPicker, kurz ccPicker, handelt es sich um ein hochperformantes Programm von Benjamin Wilger zur Auswahl von Farben basierend auf verschiedenen Farbsystemen. Dabei können Farben aus verschiedenen Farbmatrizen gewählt werden. Der Basiscode ist in einer C++-DLL abgelegt. Hauptanliegen war es, einige vorhandene Fehler zu beseitigen und eine Erweiterung zu diskutieren. Der Quellcode des Programms ist auf der Website von ActiveVB in der Rubrik „Projekte“ zu finden.
Verschlüsselung
Diese Diskussion fand im Engen Kreis mit unserem Bits-, Bytes- und Zeiger-Spezialisten Klaus Langbein statt. Dabei wurden Vor- und Nachteile verschiedener Zeigerspielereien und Verschlüsselungsprobleme sowie Sortierverfahren diskutiert. Götz Reinecke berichtete zu diesem Thema von Sortierproblemen bei bestimmten Implementierungen von Quick-Sort bzw. bei sortierten ListBox-Steuerelementen, denen es noch auf den Grund zu gehen gilt.
Der Upload
Es wurde über eine völlige Neuimplementierung des Upload-Bereichs nachgedacht, um unqualifizierte bzw. kommerzielle Übermittlungen schnell und sicher automatisiert ausfiltern zu können. An dieser Stelle ein Aufruf an alle, die Dateien im Upload hochladen: Es werden nur ZIP-Dateien, die keine weiteren ZIP-Archive sowie kompilierten Code enthalten, zugelassen. Erlaubt ist nur reiner Quellcode ohne die ausführbaren Dateien. Will jemand ein solches Programm hochladen, dann kann er sich über die im Upload genannte E-Mail-Adresse mit uns in Verbindung setzen. Diese und andere interessante Themen beschäftigten uns bis ca. ½ 3 Uhr in der Nacht. Am nächsten Tag wurde wieder viel diskutiert und gegrillt. Leider mussten einige von uns bereits ziemlich früh abreisen. Gegen Mittag ging es dann an die Reste vom Vortag und es stand Kartoffelbraten am Programm.
Ausblick
Zum Abschied wurde beschlossen, sobald es möglich ist, wieder ein Treffen zu veranstalten, das dann mehr als zwei Tage dauern sollte. Sowohl Zeitpunkt als auch der Ort stehen aber noch in den Sternen.
Beim Beenden des Artikels habe ich erfahren, dass Götz aus privaten Gründen leider nicht mehr so viel Zeit in ActiveVB investieren kann. Das zeigt uns wieder, dass VB nicht alles sein kann. Es gibt noch andere wichtige Dinge im Leben wie Arbeit, Studium und Freundin. Aber gerade das soll jene, die genug Zeit haben, darin bestärken, ActiveVB weiterzubringen und dadurch den Aufstieg der Website weiterhin zu ermöglichen. Jeder noch so kleine Stein ist ein Teil des Mosaiks, dass es zusammenzusetzen gilt!