Releases: cristianbuse/VBA-FastDictionary
Releases · cristianbuse/VBA-FastDictionary
VBA-FastDictionary v2.6.6
VBA-FastDictionary v2.6.5
VBA-FastDictionary v2.6.4
VBA-FastDictionary v2.6.3
VBA-FastDictionary v2.6.2
VBA-FastDictionary v2.6.1
VBA-FastDictionary v2.6.0
The below are mainly implemented as part of discussion 28:
- Added 'StrictScriptingMode' precompiler constant and a property with same name
For more info see StrictScriptingMode - Renamed GLOBAL_STRICT_SCRIPTING_MODE to FASTDICT_STRICT_SCRIPTING_MODE
- Changed 'GetIndex' from Function to Sub
This gains around 5% speed for all methods calling it (e.g.Add,Remove,Item,Exists). However, the only purpose of this change is to counteract the speed loss from turningAddandRemovefrom Sub to Function as per below - Added a 'TempHash' structure to avoid rehashing for Item Let/Set if Key is missing
- Added Optional argument to Remove so that no errors are raised if needed
Code likeIf Not dict.Remove(Key, IgnoreErrors:=True) Then...is now possible - Added Optional argument to Add so that no errors are raised if needed
If Not dict.Exists(...) Then dict.Add...is 70% slower thanSub Addwhile the newly possibleIf dict.Add(Key, Item, IgnoreErrors:=True) Then...has the same speed as the originalSub Addthanks to the changes toGetIndex - Added Optional argument to Exists and HashVal so that no errors are raised for Array / UDT key type
- Added Optional argument to Index so that no errors are raised if needed
- Removed kernel.dll API declaration so that Win Defender does not trigger
- Added 'CreateEmptyItemIfMissingKey' and 'TryGetItem'
- Match error codes in StrictScriptingMode
- Removed any remaining references to kernel.dll to avoid Defender alerts
VBA-FastDictionary v2.5.0
Fast deallocation now works even if the current project exposes the Dictionary class to an external project. The 'controller' instance that holds common state is now hidden and its reference count is being tracked. If state is lost in the external project i.e. instances are being terminated without calling Class_Terminate, then the wrong reference count is detected and pointers are restored.
VBA-FastDictionary v2.4.4
VBA-FastDictionary v2.4.3
On older versions of Office, the code can recompile while running. This addition re-applies the stack bug fixes, if needed