Posts Tagged ‘Lazy Delphi Builder’

08.01.2017. Lazy Delphi Builder

January 8th, 2017 Comments off
  • support: added Delphi Berlin support
  • support: Delphi version after 10.1 (dcc v 32.0, IDE – 25, wild guess on version numbers)
  • bugfix: drag and drop Single file to a tree cause error (file is not a folder)
  • feature: during the build, support environment variable $(config) that will be replaced with ‘debug’ or ‘release’ (overwriting user-defined value)
  • bugfix: for projects build both release & debug version (same as for packages). It fixes errors, if compiling projects and packages and only "Build debug version" is checked:
    • 1) Fatal: F2051 Unit UnitName.pas was compiled with a different version of some class
    • 2) Cannot create UnitName.dcu in ReleaseDcu directory, because directory does not exist (was not created)
    • 3) Cannot find UnitNameFromPackage.dcu, because for projects this file was searched in non-existing ReleaseDcu directory
  • bugfix: shell context menu does not work for paths containing \..\
  • support: Custom installation editor – added Registry ids for Delphi 2009, 2010, XE8, 10 Seattle, 10.1 Berlin
  • bugifx: portable installation editor: fixed exception dialog if rsvars.bat file was not found
  • bugfix: fixed EListError List index out of bounds (0) if installation loaded from LazyDBP was not found (0 installations)
  • support: set cursor busy when loading Installed packages preset

Download here

Lazy Delphi Builder released

April 6th, 2016 Comments off

06.04.2016. Lazy Delphi Builder
* fixed critical: range check error when adding new path to Lazy paths (thanks to Pavel Labutin for report)
* fixed: Lazy Paths editor: non-existing directories were not detected after item edit or add
* feature: Lazy Paths editor: added command  Replace selected with env var (auto) – shortens path by replacing it’s part with Lazy or IDE environment variable
* support: lazy ide paths editor: added popup menu command Edit (same as double click)
* support: Library paths editor: disable drag for Lazy Paths
* support: IDE paths editor: disable double click for IDE & Windows paths

Download here


Also released build 364 with updated JCL that contain several fixed on Delphi XE2+ compilation.  Did not tested, that’s why marked it as Alpha. Let me know if you’ll run into any trouble.

01.04.2016. Lazy Delphi Builder bug fix release

April 1st, 2016 Comments off

01.04.2016. Lazy Delphi Builder
* fixed: BUILTIN_PROFILE_DIR did not worked if Lazy profile was loaded as relative path
* fixed: relative paths (to current directory) might not work as expected if path was empty
* fixed: console version fail to return ERRORLEVEL if LDB failed to delete directory
* fixed: GUI: MRU profiles. Loaded profile was not moved to beginning of list.
* fixed: GUI: terribly slow packages Tree update after delete
* feature: new cmdParam /MaxProblemCountToStop number
* support: cmdParam alias /cod for /CleanOutDirs
* support: output BUILTIN_PROFILE_DIR env var name in /debug mode



Lazy Delphi Builder released

March 26th, 2016 Comments off

26.03.2016. Lazy Delphi Builder
* critical: /CompilerOptions command line switch was broken in previous builds (passed value to dcc32 using semicolon as separator instead of space)
* fixed: warning about Files not found was not shown when user loaded profile
* fixed: .. was stripped from relative paths
* fixed: Summary message about Bpl files: %s – was not expanded
* fixed: Build dialog: Show params for custom Dcc32 if provided instead of default
* feature: avoid UI blocking. replace FTHread.WaitFor with MsgWaitForMultipleObjects
* feature: added /noop switch that bypasses all actual operations with files
* feature: Preferences dialog with Checkbox "Use recycle bin for deleted files" (MainMenu -> File -> Preferences..)
* feature: Presets for Installed packages
* feature: ui: support drag and drop for .LazyDBP file (only 1 single .LazyDbp file can be dropped)
* feature: add selected source files to IDE Browsing path (paths are replaced with env vars) via MainMenu -> Edit -> Add to IDE Library Browsing Path
* feature: add selected source files to IDE Library Search path (paths are replaced with env vars) via MainMenu -> Edit -> Add to IDE Library Search Path
* feature: relative paths support: added internal variable $(BUILTIN_PROFILE_DIR) which always points to current LazyDBP file location
* feature: added cmdParam /buildReleaseDcu
* feature: Console: added cmdparam  /ResFileMasks to allow override resource file masks from LazyDelphiBuilderGUI.ini file
* feature: for release build add DEFINE RELEASE, for Debug build add define DEBUG
* support: ui: show non-existing Lazy/IDE paths in gray Text (Library paths dialog)
* support: ui: hotkeys for Preset Load/Save on Build dialog
* support: ui: main menu -> Tools -> Portable installations.. new command
* support: ui: Scan files – Search folders ui updated
* support: add dragged and dropped folders to the list of Folders to scan
* support: ignore empty presets on load
* support: hotkeys Ctrl+O & Ctrl+S in presets combobox will load/save preset, not the profile!
* support: added short alias /urb for /UseRecycleBin
* support: Set default monitor to dmMainForm
* support: Print Loading Profile "real file path" instead of Loading profile "" on startup

28.09.2015. Lazy Delphi Builder
* fixed: blocker – console version ignored environment variables provided via /ev cmdparam

Lazy Delphi Builder released

September 23rd, 2015 Comments off

Follow Lazy Delphi Builder page on Google+.

23.09.2015. Lazy Delphi Builder

* feature: Relative directories support (simply remove all parts with c:\Directory1\Directory2)
* feature: in-place rename in tree (no Undo support)
* feature: build log: added hotkeys Alt+Up and Alt+Down for errors navigation
* feature: MainMenu -> Help -> added command “Enable debug mode” with hotkey Ctrl+Alt+D
* feature: UI: main menu -> Build: added menu items “Continue build”, “Test build”, “Undo build”
* feature: UI: hotkeys: Removed Alt+C for Compile… (use F9). Added F8 for Continue. F11 for Test build (instant)
* feature: when Dragging file to Lazy Delphi Builder, automatically activate tab with Tree
* feature: UI: Tree popup menu item “Replace…”. added hotkeys Ctrl+R, Ctrl+H
* fixed: “Build Release Dcu” option was not loaded from LazyDBP file. (thanks to Labutin Pavel for report)
* fixed: critical bug “Lazy Delphi Builder search paths” were not loaded from LazyDBP profile
* fixed: /baseOutDir cmdparam was ignored (actually, it was used only when .lazyDBP file contained empty BaseOutDir key)
* fixed: rsvars variables sometime cannot be read. replace rsvars.bat run with rsvars.bat parsing
* fixed: ensure that User-specified compiler switches (-$Letter+-) will override any values provided by Lazy Builder (f.e. for Debug mode -$D+ and $L+) are used. Before – these switches were duplicated.
* fixed: unknown /verbose parameter in console version
* fixed: Console: can corrupt active Cmd window (when run in /tb mode with invalid profile) and leave temporary created directory undeleted
* fixed: cmdparam /q was not supported
* fixed: ReplaceDialog did not closed with Escape if focus in JvComboEdit
* fixed: UI: when user cancels build that contain any errors, progress bar is painted in RED, but must be YELLOW.
* fixed: Installation selection combo is painted incorrectly after Installations filter is changed
* fixed: clear filter on Clear profile/Load profile
* support: added /v cmdparam alias for /verbose
* support: gui: Edit environment variables & search paths from main menu. (mainmenu -> Tools -> …)
* support: ignore Delphi edition when looking for Installation defined in LazyDBP profile. (4 words are ignored: Enterprise, Architect, Professional, Portable), which means that Delphi XE Architect will match “Delphi XE Professional” key
* support: breaking change: changed 64bit win installation name. From: Rad studio xeX Edition 64 To Rad studio xeX Edition win64
* support: removed BallonHint because of multiple problems with it in XE (slow drawing, no hint is shown in VirtualTreeView header etc)
* support: after adding new directory to treeview (drag-n-drop included) set focus to treeview
* support: UI: rename Scan button to Search(clear), updated hint for that button, added groupbox to keep together file masks sections
* support: UI: main form -> removed 2nd log control (hidden mini log at the bottom of main form)
* support: UI: change cursor to Hourglass on Check/Uncheck files in tree as it may take some time when there are lot files
* support: guess files for Delphi 10 Seattle
* support: Delphi version guess for files: support D3, D4, Kylix
* support: ui Build dialog: updated Caption & Hint for Ignore .dof, .dproj settings checkbox
* support: ui: packages tree: don’t automatically show info panel when focus is on erroneous packages/project in tree
* support: UI: help on parameters – add note about different parameters supported in GUI & Console versions
* support: in /verbose mode, if some files/packages were not found, these file will be printed (only first 4 files with …)
* support: /OutDirBase renamed to /BaseOutDir to match value specified in LazyDBP file. Older version (/OutDirBase) is still supported
* support: remove /baseOutDir cmdparam from GUI version, as there’s no use for it in GUI and it only causes problems
* support: UI: Tree popup menu: removed item Toggle check/uncheck selected
* support: UI: Tree popup menu: renamed menu item from “Substitute path (replace)..” to “Replace…”
* support: UI: MainMenu->Edit: added “Replace…” for Tree (2nd) tab
* support: UI: on the startup after loading profile, set focus to Tree

I built this version on a fresh Delphi XE installation with few updated libraries, so let me know (e-mail) if you’ll run into any bug.

Downloads available here.

Lazy Delphi Builder released (bugs fixed)

September 12th, 2015 1 comment

12.09.2015. Lazy Delphi Builder
* Support: add -$L+ parameter to dcc32 when build Debug dcus
* Fixed: breaking bug Console version does not substitute Env variables provided from Command line
* Fixed: ReloadAll button multiply Required packages (does not clear Required list)
* Fixed: error parsing Dcc32 options (the very last symbol could be lost)
* Support: display more details about error when loading Custom Delphi installation on start (use the same validator that is used in editor)
* Support: delphi xe9 renamed to Delphi RS 10

Don’t forget to follow Lazy Delphi Builder page on Google+.

I built this version on a fresh Delphi XE installation with few updated libraries, so let me know (e-mail) if you’ll run into any bug.

Downloads available here.

Lazy Delphi Builder released

March 31st, 2015 Comments off

Update from from 2014-03-15 is strongly recommended.

Major changes

  • Fixed critical bug that lead bloated LazyDBP profile and drastically slowed down Lazy Delphi Builder performance
  • Added support for “portable” installations (only working dccXX.exe and Lib folder are required)
  • Delphi XE8 & XE9 support (not tested, may not work when Xe8 & Xe9 will actually be released)
  • Better navigation in build log
  • Over 40 small bugfixes and improvements


Portable IDE installations editor:

How to configure portable Delphi installation in Lazy Delphi Builder

Build log navigation toolbar:

Build log navigation toolbar

Find next action:

Find next action

Selection wizard (can be opened from files tree with Ctrl+W hotkey). In theory it should help to ease unused files removal, or checking only required. In practice… feedback is highly appreciated.

Packages wizard

p.s. I created  google+ page for Lazy Delphi Builder. Please, like and share. =)

Lazy Delphi Builder от 15.03.2014.

March 16th, 2014 No comments

Small update. Few bugs fixed.

15.03.2014. Lazy Delphi Builder
0. Fixed: autoguess Delphi version did not worked for XE5, XE6
1. Fixed: XE6 version name
2. Changed: reset build status should work for selected nodes
3. Fixed: if lazyDbp file is loaded via Recent, then it’s filename is not set for Open/Save dialogs
4. Changed: added more rules to Delphi version autoguess (did not worked for VirtualTreeview)
5. New: generate C++ Builder files (checkbox in Build dialog). NB: will not work if C++ Builder is not installed!

Download  on bitbucket.

As seen on!


27.02.2014. Lazy Delphi Builder Alpha

February 27th, 2014 Comments off

Download it here

Many changes. Huge parts of the core were rewritten. Experimental deprecated TasksEx that was used for running jobs in background was replaced with Awaitable class from Roman Yankovski.

If you’ll meet a bug, please let me know.

  1. New:
    1. dccaarm, dcciosarm, dccios32 can be used to build projects
    2. You can build only debug dcus now. Build settings dialog now have Build release dcus checkbox.
    3. Presets were added to scan file masks
    4. Added built-in “default” preset to allow reset modified settings to default values. Implemented for: output directories, file scan masks
    5. New page “Search Paths” was added to Build settings dialog
    6. Total build time is printed in the end of the build
    7. Files tree have new feature – Check Wizard (Ctrl+W). Check wizard allows to select/check files that are suited for currently selected version of Delphi.
    8. Menu -> File –> added new command “Merge profile” that allows to update current profile with data from another LazyDBP file.
    9. Base out dir is stored in LazyDBP file.
    10. Speed optimizations in file scan classification routines
    11. File tree for projects and packages:
      1. Added new column “build status” (?? – was not built, ok – built successfully, er – was not built due to error)
      2. Filter hides folders that don’t have any visible file
      3. New commands in popup menu:
        1. Reset build status (useful when you want to rebuild project in Continue Build mode)
        2. Copy build log to clipboard
        3. Find a project in Build Log
        4. Show guessed Delphi version for selected file in Info panel
  2. Fixes:
    1. IDE version was ignored loading LazyDBP file
    2. Build settings dialog: presets were not locked on test build mode
    3. Ignored Break after N errors value (Build settings)
    4. If profile had XE 3 Architect installation, but the machine didn’t have that Delphi version, then pressing Compile button the error was shown: Assertion failure (uLazyIdeProxy.pas, line 886) LazyInstaller.CurrentInstallation not assigned.
    5. Clear profile did not cleared Environment variables and Lazy Search paths
    6. Build settings dialog: namespaces editbox had incorrect Recent(MRU) list
    7. Build settings dialog: wizard background painting issue
  3. UI:
    1. Installation log was renamed to Build log
    2. Lock menu item Edit –> Find if current tab does not support search
    3. Save as dialog, Filename value is set from the loaded profile file name
    4. Build dialog: added edit for CustomCompiler (it was available from 28.04.2013. Lazy Delphi Builder version but only via editing LazyDBP file).
    5. Status bar now shows number of projects built with error.
    6. File tree: speed optimization for switching from List view mode to Tree view mode (about 46% faster)


Check Wizard (Ctrl+W). Allow to select/check files in file tree that are suited for selected Delphi version (experimental feature)

Check wizard (Ctrl+W)

Search paths in Build dialog

Search paths in Build dialog

Display number of projects compiled with error in Status bar

Display number of projects compiled with error in Status bar

New popup menu items in Files tree

New popup menu items in Files tree

Built-in “default” preset for File masks (use it to reset settings to default values)

Built-in “default” preset for File masks

Import (merge) data from another profile

Import (merge) data from another profile

Lazy Delphi Builder 15-sep-2013

September 15th, 2013 Comments off
  1. Feature: allow to select platform. Win32, Win64 and OSX are supported for now. Implemented as dcc32 replacement with dcc64/dccOSX. Other platforms can be used by specifying custom dcc32 in LazyDbp file(see #9 in release notes for version
    How to use dcc64 or dccOSX in Lazy Delphi Builder
  2. Feature: You can change the amount of problems, that might happen before Lazy Builder will decide to stop build (default 2)
    Build parameters dialog -> compiler options
  3. FIXED: Access Violation when press “Load preset” button without any preset selected (thanks for reporting it)
  4. FIXED: can’t use Unicode (non-ansi) characters in output paths. Details: OEM conversion for paths is applied only for versions prior to D2009.
  5. FIXED: Removing package from IDE in Delphi version prior to XE2 did not worked.
  6. FIXED: Packages tree: Program stops responding after Info panel is opened and erroneous package is selected
  7. FIXED (unsure): frozen Delphi version change after resources are copied
  8. Minor: fixed hints on frame “Scan settings”
  9. Minor: dcc32 was renamed to dccXX in all the hints and messages
  10. Added support for Delphi XE6 =)

You can download new version here: or here

p.s. comments are disabled here because of spam. Feel free to contact me in english via comments in my other blog