This Toolset currently consists of three Binary Components, which are placed inside the Public Domain:
dhRichClient3.dll (COM-Dll, current version 3.0.21)
sqlite36_engine.dll (StdCall-compile of sqlite-version 3.6.20)
DirectCOM.dll (StdCall-compile, regfree COM-instantiation-helper)
The Online-Documentation for dhRichClient3 is currently only a start (just a very basic Class-View) - but it will be enhanced over time, after this site got a WIKI-engine.
But to take a first look on "whats in there" this should be suitable.
A big <Thank you> to Jose San Leandro Ros, who has put some efforts into it.
(later on in 2009 we will enhance this toolset about dhCairo.dll, cairo2_engine.dll and vbWidgets.dll - the VB6-source of the class-based widgets in vbWidgets.dll will be published under an opensource-license, probably the LGPL - if that triggers appropriate community-effects and results in good progress at the "widgets-front", we will open up the VB-sources of dhCairo.dll and also the dhRichClient3.dll too in 2010 - so stay tuned ... :-)
Downloads (VB6):
The Toolset-Binaries: (ca. 1.3MB) (now containing also the new Cairo-COM-wrapper)
The VB6-Demo-Sources: (ca. 2.2MB)
Simple MetaStock-Demo (ca. 2.6MB) (using an InMemory-DB + charting)
Download (VBA, including the Binaries)
VBA-NWind-StarSchema.zip (ca. 1.2MB)
All the components in this Toolset are free (as in free-beer) - you can use them without any restrictions in your own apps, but (as usual for tools in the "Public Domain") at your own risk. That doesn't mean, that we don't offer support - just drop us an email, if you experience any problems.
The toolset is thought mainly as a feature-rich vbRuntime-enhancement, which aims to lower the dependencies into the COM-based MS-ToolStack (it contains replacements for e.g. DAO/ADO/JET, MS-XML, DCOM, the Scripting-Dictionary, etc.).
It also offers regfree Loading/Instancing-capabilities for ActiveX-Dlls and it can also make ActiveX-Exes obsolete, due to support for a new, easy to use Threading-approach, which works with Named-Pipes under the hood and works therefore also cross-process.
Short description of the available Classes (Class-Sets) in dhRichClient3.dll:
- SQLite-Classes - an ADO-like Replacement based on the great sqlite-engine
- SimpleXML-Classes - an unicode-aware XML-Parser with DOM and SAX-Support
- cSortedDictionary - superfast alternative to the Scripting.Dictionary
- cCollection - a nearly similar approach as above, but compatible to the VB-Collection
- Report-Classes - an enhanced-metafile-based WYSIWYG-Reporting-engine
- Socket-Classes - TCP-Server and -Client-Classes (an alternative to the winsock.ocx)
- cCrypt - strong-encryption-, hashing-, encoding- and compression-stuff
- cEventCollection - Eventsupport for COM-LateBound-Objects in a centralized sink
- OpenOfficeEmbed-Classes - embed OpenOffice-Documents into your VB-Forms
- cFormula - a Formula-Evaluator, which supports Variables, Arrays and Objects in the Eval-Term
- cTimer - a classbased replacement for the VB-Timer
- RPC-Classes - the Client- *and* Serverpart (including the ThreadPool) for a fast DCOM-alternative
- DC, DIB and DDB-Classes - GDI-encapsulation with support for e.g. ByteArrayBased (Alpha-)Icon-loading, AlphaBlending etc.
- cRegFree - support for the new pipe-based Threading-enhancements and regfree Class-Loading from COM-Dlls
- cConstructor - an instantiation-helper, which offers Optional Init-Params for most Classes
- cFactory - the "main-entry-point" into the framework, which contains the two classes above
Most of the newer functionalities (classes) in this toolset do require W2K or higher to work - please understand that - since I want to "move fast" with these class-helpers and also with the new, upcoming (unicode-capable) widgetset over the next years, I had to "draw a line" somewhere.
The dhRichClient3.dll was built with VB6 and depends on the VB6-Runtime (which comes preinstalled on all current WinOS's ranging from Win98SE up to Vista and Windows7) - but it is of course usable from VC++-ATL-Projects too. The performance of well-implemented VB6-COMponents is on par with C++-ATL-components due to VBs (since Version 5) builtin C++ native Compiler (C2.exe) - simply compare e.g. the SQLite-WrapperClasses with C++-implemented COM-wrappers or the performance of the built-in RPCServer with DCOM/COM+.