IN THE SPOTLIGHT: MDE to MDB Conversion Service
(also supports: ACCDE to ACCDB, ADE to ADP, etc)
IN THE SPOTLIGHT: Access Database Repair Service
An in-depth repair service for corrupt Microsoft Access files
IN THE SPOTLIGHT: vbWatchdog
VBA error handling just got easier...
" vbWatchdog is off the chart. It solves a long standing problem of how to consolidate error handling into one global location and avoid repetitious code within applications. "
- Joe Anderson,
Microsoft Access MVP
Meet Shady, the vbWatchdog mascot watching over your VBA code →
(courtesy of Crystal Long, Microsoft Access MVP)
IN THE SPOTLIGHT: vbMAPI
An Outlook / MAPI code library for VBA, .NET and C# projects
Get emails out to your customers reliably, and without hassle, every single time.
Use vbMAPI alongside Microsoft Outlook to add professional emailing capabilities to your projects.
IN THE SPOTLIGHT: Code Protector
Standard compilation to MDE/ACCDE format is flawed and reversible.
If your questions are not answered here, please contact us.
All versions from v6 onwards (from original Office 2000 right up to the latest Office 2010) are currently supported.
The .DLL is designed universally and should continue to work with any future releases of VBA6 or VBA7 without issue. In the unlikely event that a future version of VBA breaks compatibility then we will release an updated version of SimplyVBA Global Error Handler to fix the issue(s) free of charge.
All revisions of VB6 are supported.
VB.NET is NOT supported.
Well, where do I start?
You get access to the VBA call stack (to find out the location of error and how that subroutine was called).
You get access to an automatic line numbering system that is already built-in to your compiled code (no code bloating).
You get access to the live local variable values within the procedure of error so that you can dump the memory contents for enhanced debugging
You can create professional error dialogs using the built in Vista-style API.
You get complete control over handling all errors.
Furthermore, to implement these features is so easy - take a look at our Tips: Converting existing code
There are currently two licenses available:
DEVELOPER EDITION (VBA Only) which is a free version but cannot be used for commercial purposes. Furthermore, you are not allowed to redistribute this edition. There are minor limitations in this edition - see the license details for exact differences.
DISTRIBUTABLE EDITION which is the version you need if you need to distribute the .DLL or if your product is for any commercial purpose.
Full licensing information and pricing is available here: License & Download
ErrEx is a global class object that is used as a replacement for the built-in Err function in VBA. It is also the object you use for enabling and disabling your global error handler.
ErrEx exposes all the new features such as the callstack, line numbering and variables inspector.
Read more here: QuickStart: The ErrEx function
No - the Distributable Edition is designed so that you can automate the install process into your own installer packages. Simply copy over the VBAGlobalErrorHandler.DLL and register it (it's a self-registering COM library).
Alternatively you might want to consider using the registry-free installation option that doesn't require the DLL to be registered at all.
No, not during normal application program flow. There is of course a small overhead when an exception occurs for retrieving the advanced information from the callstack and live variable values, but in reality this overhead is so small it's negligable.
Yes, absolutely. However, the features of the VariablesInspector are not available since variables debug information has been removed by the MDE Protector. It is advised in this situation to turn off the VariablesInspector support by setting ErrEx.VariablesInspectorEnabled property to False.
As of v1.4.0, yes you can.
The For...Each way of enuerating through collections, doesn't ideally fit the way that our collections are exposed in SimplyVBA Global Error Handler which is why we hadn't implemented this functionality before.
However, due to popular demand, we now give you the option of using the For...Each method, although not entirely as you would normally implement it.
To use it, you need to declare a dummy variable of type Object and use that as the For Each control variable. Note: The dummy variable will always contain Nothing - it is not meant to be used, in this instance. Continue to access the methods and properties using the normal ErrEx.CallStack or equivalent interfaces.
Example
Dim Dump As String Dim DummyElement As Object Dim DummyElement2 As Object With ErrEx For Each DummyElement In .CallStack With .CallStack Dump = Dump & .ProcedureName & vbCrLf & "--------------------------------" & vbCrLf For Each DummyElement2 In .VariablesInspector With .VariablesInspector Dump = Dump & .Name & " = " & .ValueDesc & vbCrLf End With Next Dump = Dump & vbCrLf End With Next End With MsgBox Dump
iTech Masters | VAT: GB202994606 | Terms | Sitemap | Newsletter