The build options set on the Misc page of the Build Options window control miscellaneous aspects of VBLM's behavior during builds.

Excluded Files & Files w/o Strings

This option controls VBLM's behavior when it encounters files in the VB project that have either been marked for exclusion (see Excluding Files) or that contain no extracted strings (CONSTANT.TXT, for example):

When set to Reference Originals, VBLM inserts the full path and file name of the original file in the new MAK or VBP file. This saves on disk space and eases maintenance. Unless you select "save file as" in VB, however, VB won't tell you that the file is in a different directory, and you might inadvertently make changes that affect other projects.

When set to Make Copies, VBLM makes a copy of the file in the target directory. Although unnecessary because the file is unchanged, this setting has the effect of creating a wholly new, self-contained project in the target directory. This is the default setting.

Related File Handling

Your setting here determines how VBLM will handle any related files referenced in the original project file when it builds a new project file:

image\DIAMOND.gif If set to Point to Existing Copies (the default), VBLM will build a project file that includes the related files, but points to the existing copies.

image\DIAMOND.gif If set to Copy to New Project Directory, VBLM will copy the files to the new project directory and build a project file that points to the new copies.

image\DIAMOND.gif If set to Don't Include in New Project, VBLM will build a project file that omits all related files except resource files.

Note 1: If your project uses a resource file and you are not building an RSV that uses a resource file, VBLM will handle it as a related file according to this setting. If you are building an RSV that uses a resource, VBLM will use it as a template and copy it into the new project directory.

Note 2: When the Maintain Relative Refs box is checked (see below), and you select Copy, VBLM will do its best to copy related files into the directories indicated by any relative references, with the new project directory as the starting point. If unable to do so ( say the ref is two levels up from the old project dir, but the new project dir is only one level down), it will copy them to the new project dir instead.

Retain Strings as Comments

When checked, VBLM retains replaced strings as comments at the end of each line.

Add "VBLM = -1" Compilation Conditional

When checked, VBLM adds "VBLM = -1" to the list of conditional compilation arguments written to the VB4+ project file it builds. Hats off to Karl Hoover, who suggested this very handy feature. See On-the-Fly Switching for a good example of how it can be useful.

Add "VBLM Version" Comment

If checked, VBLM appends "VBLM Version" to the VersionComments field of newly built VB4+ project files. If not checked, it doesn't (Previous versions of VBLM did not allow you to skip this comment).

Maintain Relative VBP Key References

When checked, VBLM preserves relative pathing for non-code file specs found in VBP files. If not checked, VBLM change these references in the VBP files it creates into absolute paths pointing to the same files referenced in the original VBP (the behavior of previous versions of VBLM).

This option originated with a user's complaint that VBLM was creating problems with the CompatibleEXE32 setting by pointing back to the original file. "Gee," I responded, "Isn't that just what it should do? And not only don't you want the same file to be referenced, but if you generated a new reference relative to the new project, you'd get an error because the file wouldn't exist." The user's response was that, ideally, VBLM also should copy the file into the new relative location.

We went back and forth on this, and I finally realized that he wasn't going to stop complaining, so I did what I always do; I made it an option. As far as copying the file, I told him to add it to the related files list, and extended the effect of this option to related files as well (see above).