Die RC6.dll ist in VB6 geschrieben - ein späteres "Open-Sourcing" unter LGPL ist geplant.
Der Haupt-Zweck ist, von so vielen MS-COM-dependencies wie möglich zu entkoppeln, mit dem Ziel,
später einfacher einen "self-hosting-state" zu erreichen, sobald der neue (VB6-kompatible) Compiler in
die Gänge kommt.
Und wenn einfacher erreichbare Plattform-Portabilität das Ziel ist (für den Compiler, ebenso wie für die
neue klassenbasierte Runtime), dann müssen wir bereits in dieser Übergangs- und Planungs-Phase
beginnen, mit einem solchen entkoppelnden Framework zu arbeiten.
Also die Lib offeriert ein modernes GUI-Framework, welches Vector-basiert arbeitet, und die
cairo-library unter der Oberfläche benutzt (kein GDI/GDI+ oder DirectX ... und aus der MS-CommonControls.dll wird
ebenfalls nichts angefasst).
Ein weiterer wichtiger Part, oft benutzt bzw. gebraucht in "typischen VB-Awendungen" ist einfacher DB-
Zugriff (üblicherweise über ein begleitendes Desktop-DB-File im *.mdb-Format). Also was das Framework
über den neuen GUI-support hinaus ebenfalls offeriert, ist ein einfach benutzbarer (nahezu ADO-kompatibler)
Ersatz für die MS-JET-Engine. Das ist, was den anderen größeren Part im begleitenden Satelliten-Binary
(vb_cairo_sqlite.dll) ausmacht: ... die SQLite-engine.
Bitte betrachtet den bisher geleisteten Aufwand im richtigen Kontext. Obwohl der RichClient vielleicht
"groß" erscheinen mag (er enthält ja noch eine ganze Menge mehr an nützlichen Klassen) - in meiner
Denke war das immer nur "der erste Schritt auf dem Weg hin zu einer neuen Compiler-Umgebung für VB6".
Mit Version 5 ist der RichClient jetzt in Top-Shape (bzgl. Funktionalität und Stabilität), um mit der zweiten
Phase des Plans zu beginnen, in dem die Lib ihre Rolle als "rich", klassen-basierte Runtime-Extension für
zunächst erstmal den gegebenen VB6-Compiler wahrnimmt. Die VB6-IDE dient hierbei als immer noch sehr
effizient einsetzbare Entwicklungs-Umgebung für den letzten Übergangsschritt:
Ein neues IDE-Environment zu entwickeln, das auf dem RichClient aufsetzt (um Code-Lines zu sparen und
die neue IDE auf einer Grafik-Plattform hochzuziehen, die bereits zu 90% System-unabhängig arbeitet -
dabei soll der neue Compiler genau so eng in die neue grafische IDE integriert sein, wie im Original: VB6.
Sobald der neue Compiler (und die neue IDE) soweit sind, dass Binaries aus zumindest VB6 *.cls und
*.bas Modulen produziert werden, dann wird sofort vbRichClient-Dll selbst rekompilierbar, und auch das
neue IDE-Environment inklusive des neuen Compilers wird dann rekompilierbar mit diesem ersten, noch
in VB6 kompilierten Compiler.
Der Zeitrahmen, bis "wir" (Ich hoffe also sehr auf die Community an der Stelle) diesen finalen self-hosting
Zustand erreichen, wird realistischerweise noch so 1.5-2 Jahre in Anspruch nehmen.
In der Zwischenzeit und Übergangsphase hat die VBClassic-Community zumindest erstmal ein modernes
Klassen-Framework zur Verfügung, das hoffentlich bei der Lösung einer Menge von existierenden Problemen
hilfreich sein wird in aktuellen VB6-Projekten.
Olaf Schmidt, im April 2013