Features
The following features are made available through vbAdvance:
Build Features
- Console Applications - Create true console-subsystem applications in Visual
Basic that interact with the command-prompt from which they were launched.
- Function Exports - Export functions from DLLs to build standard DLLs using
Visual Basic. Function exports are required for certain application types
such as Control Panel Applets and ISAPI filters. Having access to this feature
allows you to build these applications using VB. You can also implement the
DllInstall feature of RegSvr32.exe in your DLLs to provide command-line switch
customized registration of your DLLs. Many application plug-ins require function
exports, which means you can now use Visual Basic to create them instead of
having to resort to another language.
- Complete Version Number Control - Visual Basic inexplicably omits one of
the fields in your application's version number resource. The version number
standard is as follows:
Major.Minor.Revision.Build
What VB normally gives you is this:
Major.Minor.0.Build
In other words, the Revision field is always set to 0. To confuse matters
further, what VB calls the Revision field is actually the Build field. Be
confused and frustrated no longer - vbAdvance gives you full access to your
application's version fields.
- DllMain - The DllMain entrypoint is used in standard DLLs as a way to recieve
startup and teardown notification. vbAdvance gives you the ability to use
a DllMain entrypoint in your standard DLLs.
- DllRegisterServer / DllUnregisterServer customization - An extension of
the Function Exports feature, the ability to override and customize these
two registration exports gives you full control over your DLL's registration.
- XP Manifest Resource Compiler - This option automatically compiles in the
necessary XP Manifest into your application in order to support the new XP
themes. This feature eliminates the need to distribute a seperate XML file
with your application and the trouble that goes along with it.
- Terminal Server Aware Applications - Create applications that are Terminal
Server Aware, giving you full control over your app's behavior when run in
a Terminal Server environment.
- App Icons - Set your application icon without the need for a Form or a Resource
file. Just point to the icon file and build your project.
- Advanced Debug File Options - Strip private information from your PDB debug
files to prevent reverse-engineering of your app when distributing debug files.
Compile the Symbolic Debug Information into your EXE or DLL and avoid having
to distribute a seperate PDB file. Generate MAP and DBG files for your project.
With vbAdvance, the full list of possible debug file generation options is
made available to you.
- Resource-Only DLLs - Build a resource-only DLL from your project's resource
file with the touch of a button.
- Dynamic Conditional Compile Arguments - Specify conditional compile argument
values that differ between design time and compile time. This is particularily
useful for the DbgWProc.dll constant, DEBUGWINDOWPROC, which must be set to
1 when in design mode and 0 when compiled. Another example would be an IN_IDE
conditional to determine if you're running in design mode, or compiled.
- Custom DOS Stub EXEs - VB automatically creates a DOS stub EXE for you when
you build an executable. The purpose for this is to output some text to the
command line when your EXE is run from the DOS environment, explaining that
it is a Windows app and will not run under DOS. The Custom DOS Stub EXE feature
allows you to place your own DOS stub EXE into your app, allowing you to customize
the text that is displayed or even to run an actual DOS version of your application.
IDE Enhancements
- Check Syntax - Check for syntax errors without building your binary.
- Build Button - Very similar to the Visual C++ Build button, this builds
your project immediately. No dialogs are presented after the first build of
the project sets the build path.
- Execute Button - Very similar to the Visual C++ Execute button, this launches
your compiled app. A Send Command Line Args option allows you to send your
project's command-line arguments to the executable.
- Send Code Module to Text Editor - VB's code editor is decent, but not great.
If it weren't for Intellisense, there'd be nothing special about VB's integrated
code editor. For high-powered editing, many programmer's turn to a professional
text editor. vbAdvance makes it trivial to send the current code module to
your text editor. Just press the button and your editor will open with the
code module you were just viewing from VB. And when you've made your changes
and return to VB, vbAdvance's Detect Code Module Changes feature will detect
your edits and reload the module for you.
- Detect Code Module changes outside of IDE - This feature enables VB to detect
when any code modules in your project are changed by another process. For
example, if you Get Latest from SourceSafe, and one of your code modules is
overwritten with a newer version, or if you edit one of the modules with a
text editor, or even if you copy over a module using Windows Explorer, this
feature will notify you that there was a change and offer to reload the module
automatically, saving you from having to reload the entire project in order
to pick up the changes.
- Disable Build Dialogs - The first time you build your project, you are presented
with a 'Save As...' style dialog to tell VB where you want to build your project
and what you want it named. This makes perfect sense. What doesn't make sense
is that even though you already told VB what to name the executable, VB keeps
asking you the same question every time you build your project - and to make
matters worse, it kindly tells you that there's already a file of that name
(duh!) and do you want to overwrite it? Well, vbAdvance to the rescue! The
Disable Build Dialogs feature prevents those dialogs from appearing once you've
told VB where to build the project. The first time you'll be asked where to
build it, and subsequent times you will not be bothered. This is the normal
behavior of the vbAdvance Build button, this feature allows you to apply it
when building from the File menu option.
- Clear Immediate Window - This feature automatically clears the Immediate
Window when you run your project.
- Sizeable Dialogs in the IDE - Ever wonder why all of the standard Windows
common dialogs used by the VB IDE are not sizeable? So did we, and we took
care of the problem. When vbAdvance is running, all standard Open and Save
dialogs are sizeable.
- Binary Compatibility File Enhancement - An extension of the sizeable dialogs
feature is found when you select your Binary Compatibility file for an ActiveX
DLL project. It has become standard practice to use an extension of *.cmp
for compatibility files in order to avoid confusion with the target DLL. Unfortunately,
VB's Open dialog requires a few clicks to change the Selection Filter to 'All
Files' in order to see any *.cmp files. vbAdvance adds the *.cmp filter entry
to this Open dialog and makes it the default selection.