ShellBrowser Components logo

ShellBrowser Components Delphi Editionv10.3

Native VCL Explorer Shell Controls for Delphi

V10.3 Released on 21 September 2016

  • The new component TJamShellSearchEdit contains the search edit field of Windows Explorer. It supports a "ShellLink" and can be connected to the TJamShellList, TJamSystemShellList or TJamExplorerBrowser to define the scope and present the result of the search. For TJamExplorerBrowser and TJamShellBreadCrumbBar, it can be activated in the "VisiblePanes" property.
  • The new component TJamShellHistoryPane tracks the history of components connected via ShellLink. It automatically adjusts to mirror the look of the various Windows versions.
  • TJamShellList, TJamDriveList, TJamFileList: The context menu of the header in ViewStyle "vsReport" now contains a "More..." menu item displaying a dialog where the user can select available columns, as known from the Windows Explorer.
  • TJamShellTree, TJamShellList, TJamDriveList, TJamFileList: If "OleDragDrop" is enabled, the new "OnBeforeShellDrag" can be used to inspect or change the IDataObject that is passed in the drag-and-drop operation. Setting it to nil will suppress the drag-and-drop operation.
  • TJamDropFiles now also supports non-file-system objects like emails or email attachments. If the "UseTemporaryFiles" property is set, the objects are stored as temporary files that are automatically deleted when the control is released.
  • The TJamShellLink component can now be used to connect a FileList with e.g. a TJamFilePreview or a TJamThumbnail, so that the file selected in the FileList is automatically displayed in the connected control.
  • TJamShellFilePreview: The loading and unloading of the preview is now done asynchronously. Additionally, a small memory leak that occurred for a subset of PreviewHandlers from the system has been be fixed.
  • TJamShellBreadCrumbBar:
    • Users can now include a TJamShellSearchEdit and/or a TJamShellHistoryPane via the new "VisiblePanes" property.
    • The new "RootedAt" and "RootedAtFileSystemFolder" properties can be used to customize the root of the control.
    • Keyboard navigation in the BreadCrumbBar is now fully functional.
    • Painting of the control has been improved and fixed on the various Windows versions.
    • The exception that occurred when trying to use more than one BreadcrumbBar in a project has been fixed.
  • TJamShellTree, TJamShellBreadcrumbBar: The "OnResize" event has been published, so it is available in the Object Inspector of the IDE. The ShellTree also provides the "RowSelect" property.
  • TJamShellList, TJamFileList:
    • If the "OnThumbnailUpdated" eventhandler already assigns a custom thumbnail to an item, no additional background querying of the system's thumbnail takes place.
    • Breaking change: Thumbnails that are replaced in this event handler are now released automatically.
  • TJamShellList, TJamFileList: The "Groups" and "GroupView" properties are now available. They can be used to add custom grouping of the lists' contents.
  • TJamShellList: Some actions that might block the application (e.g. displaying information for unconnected net drives) are now executed asynchronously.
  • TJamShellTree: There is now more space between the checkbox and a treenode's icon.
  • TJamPathLabel: Users can add a checkbox to the component with the new "ShowCheckBox" property. It comes with the additional property "Checked" and the event "OnCheckStateChanged".
  • The C++ sample project in Samples\C++ Builder\Explorer has been merged and is now included in Samples\JamExplorer sharing the main.dfm with its Delphi counterpart.
  • TJamShellList, TJamFileList, TJamDriveList: When checkboxes are displayed, pressing the space key now toggles the checkstate of all selected items instead of the first item only.
  • Bugfix - TJamFolderCombo: The handling of a large number of shell change notifications has been improved.
  • Bugfix - TJamShellTree: The processing of rename change notifications has been corrected. Under some circumstances, renaming led to duplicated nodes in the tree.
  • Bugfix - TJamShellTree: When selecting nodes using the keyboard, connected controls were only updated with a slight delay. This can be avoided now by setting the "ChangeDelay" property to 0.
  • Several minor fixes and improvements have been incorporated.

V10.2 Released on 11 May 2016

  • Support for RAD Studio 10.1 Berlin has been added.
  • TJamShellBreadcrumbBar: the new "FileSystemOnly" property allows to display only elements that have a file system path.
  • TJamShellBreadcrumbBar: The popup menus that are used to display the subfolders of an item in the BreadcrumbBar are now scrollable.
  • TJamSystemShellView, TJamExplorerBrowser: By using the property "OleDragDrop", users can turn off the possibility to drag files into the control.
  • TJamSystemShellView, TJamExplorerBrowser: The new properties "PopupMenu" and "BackgroundPopupMenu" can be used to assign custom context menus to items and to the background of the component respectively.
  • TJamExplorerBrowser: On Windows 10 the forward and backward buttons now look like in Windows Explorer.
  • TJamExplorerBrowser: The new "InvokeCommand" is a focus-dependent version of "InvokeCommandOnSelected"/"InvokeCommandOnFolder". If the focus is on the navigation tree, the command is applied there. If not, it refers to the selected element of the list part of the control.
  • TJamShellTree: The "OnCreateNodeClass" event is now published and visible in the object inspector.
  • TJamShellTreeNode: The "TextStyle" property allows to set a tree node in bold or italic.
  • TJamDriveList: when adding elements via the "AddEditable" method it's not possible anymore to add more than one editable item at the same time.
  • TJamPathEdit: On Vista and later Windows versions TJamPathEdit now uses the new dialog to select a file when the respective dialog button in the component is clicked.
  • TJamDriveList: The new "OnListItemAction" event notifies whether the path to be displayed has been resolved successfully or unsuccessfully. If the "CheckIfExists" property is set, invalid list items are removed automatically.
  • The "EShellBrowserError" that is used to indicate errors inside ShellBrowser components now inherits from EOSError.
  • TJamItemIdList: The WindowsPointer is now resolved lazily. This means that the existence of a path or the validity of an ItemIdList is not checked when the ItemIdList is created but only when it is required (e.g. when calling TJamItemIdList.IsInvalid).
  • Bugfix - TJamShellTree: The special folder "Documents" was sometimes added a second time beneath "This PC" on Windows 10. This has been resolved.
  • Bugfix - TJamShellBreadCrumbbar: Several painting issues have been fixed. The drop-down menu of "This PC" is now sorted like in Windows Explorer.
  • Bugfix - TJamDriveList: An EInvalidOperationException that occurred when double-clicking a non-existing path in the DriveList is now suppressed.
  • Bugfix - TJamShellTree, TJamDriveList: Checking elements wasn't possible via mouse input, when the ShellTree displayed a horizontal scrollbar on Windows Server 2008. This has been fixed. The click area of checkboxes in the DriveList has been readjusted.
  • Bugfix - TJamShellList, TJamFileList, TJamDriveList: Default column widths now respect system scaling.
  • Bugfix - TJamFilePreview: Problems with Foxit PreviewHandler have been resolved. Issues regarding the specification of the "Path" property at program start or in designer have been fixed.
  • Bugfix - TJamExplorerBrowser: The "CreateDir" method has been fixed to name the new directory correctly.
  • Bugfix - TJamShellTree: The ShellTree wasn't reliably refreshed automatically when an iPhone was attached to or detached from the machine. This now works correctly.
  • Bugfixes have been incorporated in the API help.
  • Several minor fixes and improvements have been incorporated.

V10.1 Released on 18 January 2016

New features have been made available for the TJamSystemShellView:
  • Implemented Columns feature:
    • Added property Columns which makes it possible to add, remove, rename, sort and change the width of columns in the view style "details".
    • Option to create a TStringList of only visible or all available column captions in the current folder.
    • Added property ColumnHeader to influence the visibility of the column headers.
  • Implemented CheckSelect feature:
    • Added property AutoCheckSelect to display checkboxes for each item.
    • Option to manually check or uncheck items.
    • Option to list checked items.
  • Added property EmptyText to show a user-defined text when view is empty.
  • Implemented grouping feature:
    • Group items according to different attributes.
  • Added "MoveBack()" and "MoveForward()" methods to navigate the history of visited folders. Navigation by additional mouse thumb keys is also supported.
  • Added new events:
    • OnNavigationImpossible: Occurs when e.g. a corrupted library should be opened.
    • OnNavigationCompleted: Occurs when a path was successfully opened.
    • OnSelectionChanged: Occurs when the selection of items has changed.
    • OnDefaultAction: Occurs when the user performs a double click or hits the enter key.
  • Added property IconDimensions to let the view show icons in specific pixel dimensions. This property replaces the "IconSize" property, that is still available but not visible in object inspector anymore.
  • The performance of the "SmartRefresh()" method has been improved.
  • Implemented IDE property value editor for property Path. Users can now select a new path using a "browse for folder" dialog.


  • It is now possible to set a new installation directory during setup. Users can now keep different versions of ShellBrowser.
  • TJamShellList, TJamShellTree: The "OnShellDragOver" event can now be used to support drag-and-drop for items that aren't supported by the shell. You can now implement custom behavior for certain actions, e.g. if a PDF file is dropped on another PDF file. See http://www.jam-software.com/shellbrowser_delphi/online_manual/EN/TJamShellList_OnShellDragOver.html for an example.
    Please note that this might be a breaking change of your existing functionality. Changing the CopyMode parameter to a different value than cmNone will treat and visualize items as valid drop targets. See http://www.jam-software.com/shellbrowser_delphi/online_manual/EN/TJamShellList_OnShellDragOver.html for details.
  • TJamShellList, TJamShellTree: Elements in the "Control Panel" item are now handled like files and are opened externally instead of navigating them internally.
  • TJamShellList, TJamFileList, TJamDriveList: The "OnCreateItemClass" event is now published and visible in the object inspector.
  • TJamSystemshellView: The "IconSize" property has been replaced by a new "IconDimensions" property that enables users to specify the size of icons in pixels. Setting the deprecated "IconSize" property will automatically map to the new property. However querying the IconSize is not possible anymore, so this might be a breaking change.
  • TJamShellBreadCrumbBar: The component will refresh itself automatically with the new "AutomaticRefresh" property when a displayed folder is deleted or renamed.
  • TJamShellTree: The performance of expanding folders containing a large amount of subfolders has been improved.
  • Bugfix: A potential Access Violation occurring on unloading the ShellBrowser components has been fixed.
  • Bugfix - TJamFilePreview: Setting the "Path" property at designtime now works as expected. Assigning a new parent of the TJamFilePreview at runtime will keep the currently previewed file. Repainting issues especially concerning MSG files have been fixed.
  • Bugfix - TJamShellList: Copying and pasting files using the context menu now works correctly (also via RDP). It is no longer possible to move the "Name" column from the first position
  • Bugfix - TJamThumbnailImage: A cropping issue depending on the size of the component has been fixed.
  • Several minor fixes and improvements have been incorporated.

V10.0 Released on 30 September 2015

  • Support for RAD Studio 10 Seattle has been added.
  • The compatibility with Windows 10 has been improved.
  • The support for Delphi 7 to XE2 has been dropped in V10. V9 will be maintained in the future and still support Delphi 7 to XE2. However, no new features will be added, only bugfixes will be included in V9.
  • A set of standard actions enabling users to perform shell operations to our controls or to show dialogs without writing code has been added.
  • Drag & drop improvements: For TJamShellList and TJamShellTree an event OnShellDragOver has been aded and the value set in the property CopyMode is now visualized in the drag cursor.
  • A few minor issues with column handling in TJamShellList and TJamFileList have been fixed.
  • TJamPathLabel now shows the corresponding icon left of the path as well as the Explorer context menu when right-clicking. These new features can be turned off using the new properties ShowIcon and ShellContextMenu.
  • When the window handle of the TJamShellTree is being recreated multiple roots are now added again automatically. This applies if the property MultipleRoots was set to mrMultipleRoots.
  • The packages for RAD Studio XE3 and XE4 have been split into designtime and runtime package, as this was the case already for XE5 and later. This is a breaking change if you have deployed ShellBrowser as runtime package or use packages that have a dependency on the ShellBrower package.
  • The AutoAdjustColumnWidths method that can be used for the TJamShellList and TJamFileList to automatically adjust column widths is now also applied in ViewStyle vsList.
  • Several minor fixes and improvements have been incorporated.

V9.3.3 Released on 21 July 2015

  • Bugfix - TJamShellChangeNotifier: A possible internal stack overflow is now prevented.
  • Bugfix - TJamShellList: When deleting items to the recycle bin certain file types were re-added to the list. This issue has been fixed.
  • Bugfix - TJamShellList: Inserting items could cause an Access Violation if the "AutoSize" property of the ShellList was set. This is no longer the case.
  • Bugfix - TJamSystemShellView: Setting the "ShellContextMenu" property to false had no effect. Now the display of the shell context menu will be suppressed when the right mouse key or the context menu key is pressed.
  • Bugfix - TJamFilePreview: Display problems occuring when the currently displayed file was deleted have been fixed.

V9.3.2 Released on 3 July 2015

  • Bugfix - TJamFilePreview: Display problems for some file types that were introduced in v9.3.1 have been fixed.
  • Bugfix - TJamShellBreadCrumbbar: Under certain circumstances (Delphi version below XE2, runtime themes enabled) the seperator of the BreadCrumbBar was displayed as an arrow pointing downwards. This has been fixed by using the default breadcrumb style in these cases.
  • Bugfix - TJamShellChangeNotifier: The "Recursive" property is now kept and applied when set at designtime.
  • Bugfix - TJamShellList: The painting of thumbnails of very small images has been fixed.

V9.3.1 Released on 23 June 2015

  • TJamFileList: The captions of items are set only when the items are displayed. This improves the performance when adding many items to the list.
  • TJamShellList, TJamFileList, and TJamDriveList: The "DefaultColumnWidth" property was added. It allows to set the column width that is applied when the "ViewStyle" property is set to vsList.
  • Bugfix - General: A possible error occurring unpredictably in a system library called by method "GetIdListFromPath" is now prevented.
  • Bugfix - TJamShellTree: It is again possible to set the "SelectedFolder" property in designer.
  • Bugfix - TJamFileList: The current SortColumn that is applied in ViewStyle vsReport is not lost after changing the ViewStyle to something different.
  • Bugfix - TJamShellList, TJamFileList: When setting the "ViewStyle" property to vsIcon while the "Thumbnails" property is true, now correct icons are displayed again.
  • Bugfix - TJamShellList: The stored sort order for a special folder in details view is now restored correctly when re-opening the folder after having displayed a different folder in a different viewstyle.
  • Bugfix - TJamShellList: The "OnOperation" event is now called, when messages are copied from Outlook to a folder using copy-and-paste.
  • Bugfix - TJamShellList: If the folder that is currently listed is renamed, the list automatically displays the renamed folder.
  • Bugfix - TJamFilePreview: MSG files are now displayed correctly when a VCL theme is activated.
  • Bugfix - TJamFolderCombo: The auto suggestion while typing a path now only suggests file system paths but omits the virtual namespace.
  • Bugfix - TJamShellBreadCrumbBar: The "Color" property is now supported.
  • Bugfix - TJamShellBreadCrumbBar, TJamShellCombo: Both components now scale correctly at dpi scalings other than 100%.
  • Bugfix - TJamShellTree: If a displayed folder or file is renamed the concerned subtree is resorted. Recently created folders are also displayed at the correct alphabetical position.
  • Bugfix - TJamShellTree: The "AutomaticRefresh" property now works for multiple roots, not only for the root that was added last.
  • TJamSystemShellView: 2 new methods were added. "DeselectAll()" will clear the selection. "DeselectItem(Index: integer)" will deselect the item with the given index.
  • Bugfix - TJamSystemShellView: If "One-Click" opening of elements was activated in Windows Explorer, the SystemShellView did not consider the clicking position when opening files or folders with a single click. This has been corrected.
  • Bugfix - TJamSystemShellView: Expanding the selection of files that had been added by drag-and-drop by pressing Shift+Up/Down was not working as expected, the selection not starting with the pasted files but the former selection. A bugfix to correct this behavior has been integrated.
  • Several minor fixes and improvements have been incorporated.

V9.3.0 Released on 29 April 2015

  • ShellBrowser Delphi now supports RAD Studio/Delphi XE8.
  • TJamShellList, TJamFileList, TJamDriveList, and TJamShellTree: The "Touch" property hs been made available for Delphi XE2 and higher to support touch gestures on Windows 8.
  • TJamShellList, TJamFileList, TJamDriveList, TJamShellTree, and TJamShellCombo: The inherited "StyleElements" property is now available.
  • TJamShellTree, TJamShellList: By turning off the new "ShowShellNames" property, potentially localized folder and object names will be replaced by file system names.
  • TJamItemIdList: Enhanced performance of "Equals" and "CompareTo" methods. TJamSystemShellView.Selected and sorting operations in TJamShellTree perform better now.
  • TJamSystemShellView: Depending on Windows Explorer settings SystemShellView now supports one-click opening of folders and files.
  • TJamSystemShellView: The ViewStyle "vmTile" can be configured with the new "ExtendedTiles" property.
  • TJamShellList: A short delay has been added before the ShellList informs controls linked with a TShellLink on the selection change. This solves the problem that the DoubleClick event for the ShellList was not recognized if a TJamFilePreview was linked and interpreted as two single clicks instead.
  • TJamShellList: If the "AutomaticRefresh" property is true, the ShellList will now also reflect folder changes. In preceding versions only file changes triggered the reloading of the column contents.
  • TJamShellList: The "CheckBoxes" property is now supported without the need to assign a ShellLink.
  • TJamShellList: The captions of items are set only when when the items are displayed. This improves the performance of loading folders containing a huge amount of items.
  • TJamShellTree: It is now possible to set the checkstate to ssDisabled in the "OnAddFolder" event. In the previous version the value was redetermined later.
  • Bugfix - TJamItemIdList: The implementation of the "IsFolder" method is now returning false for e.g. Office documents and PDF files.
  • Bugfix - TJamDriveList: A painting issue with AutoSize column has been fixed.
  • Bugfix - TJamFilePreview: Deleting the file that is currently displayed in a TJamFilePreview component will refresh the component instead of raising an exception.
  • Bugfix - TJamFolderCombo: Network drives that map to a folder are now included if the "IncludeDrives" property is activated.
  • Bugfix - TJamPathEdit: The background of the "Browse for Folder" button is now transparent.
  • Bugfix - TJamShellCombo: The "Color" property now works as expected.
  • Bugfix - TJamShellList: The attribute "I" (= not content indexed) is now displayed in the "Attributes" column.
  • Bugfix - TJamShellList: Enabling checkboxes at designtime works as expected at runtime again.
  • Bugfix - TJamShellList: Pressing "Enter" for the current selection now calls the "OnBeforeShellCommand" once for every file in the selection.
  • Bugfix - TJamShellList: If the "AutomaticRefresh" property is true, the "Filter" property is now respected when receiving and applying shell notifications of file creations or modifications. Likewise the "OnAddItem" is called whenever a file is added or modified. This ensures that all filtering options are re-evaluated when a file changes.
  • Bugfix - TJamShellTree: Checkboxes are now painted correctly when using Delphi themes.
  • Bugfix - TJamShellTree: An access violation has been fixed that occurred when accessing the "FullPath" property while custom drawing ShellTree nodes on Windows XP.
  • Bugfix - TJamShellTree: When files were shown in the ShellTree, "Control Panel" sometimes appeared several times. This has been fixed.
  • Bugfix - TJamSystemShellView: The context menu of the "Recycle Bin" has been corrected: "Restore" and "Properties" now work as expected. However, as a side effect of this bugfix the Recycle Bin's context menu is missing a default entry now. The "Open with" context menu item now works as expected.
  • Bugfix - TJamSystemShellView: The "ViewStyle" property can now be set in "OnBeforeFullRefresh" without an exception occurring.
  • Bugfix - TJamDisconnectDialog: The "OnClose" event is now raised when the dialog is closed on all Windows versions.
  • Bugfix - Fixed C++ Builder installation issues.
  • Several minor fixes and improvements have been incorporated.

V9.2.0 Released on 7 October 2014

  • ShellBrowser Delphi supports RAD Studio/Delphi XE7.
  • TJamShellList: The network folder is now filled asynchronously.
  • TJamSystemShellView: The new property "IconSize" has been added. It facilitates the configuration of the displayed size of icons from small to extra large independently of the "ViewStyle" property.
  • TJamShellBreadCrumbBar, TJamShellCombo: Special folder names like "My PC", "Downloads" etc. are now recognized as input and are subject to auto-completion.
  • TJamShellList, TJamFileList: When editing a file name only the file name is selected, not the extension.
  • Bugfix - TJamShellBreadCrumbBar: The correct folder icons in the dropdown list are now fetched asynchronously.
  • Bugfix - TJamShellBreadCrumbBar: The component showed a wrong path in edit mode when a BreadCrumbItem had just been expanded. This has been fixed.
  • Bugfix - TJamBrowseForFolder: If the "Options" property contains "bfBrowseIncludeFiles", the small folder selection dialog will be shown, since the other one cannot show folders and files at the same time.
  • Bugfix - TJamShellList: Renaming a file no longer clears the displayed values in the details view anymore.
  • Bugfix - TJamShellTree: Scrollbars now paint correctly on Windows XP.
  • Bugfix - TJamShellTree: The "UseSystemFont" property is set to "false" automatically when the "Font" property is changed.
  • Bugfix - TJamShellTree: Exceptions that may occur when destroying the component while the network folder is still being expanded are now handled.
  • Bugfix - TJamShellTree: A new folder is not shown twice in the ShellTree anymore after being renamed.
  • Bugfix - TJamSystemShellView: Setting the "ShowHidden" property to "false" now also works for folders.
  • Bugfix - TJamSystemShellView: The "ViewStyle" property is now correctly synchronized when changing the view via the context menu.
  • Bugfix - TJamSystemShellView: A possible stack overflow error that could be triggered by setting the "Filter" property in "OnBeforeFullRefresh" is now prevented.
  • Bugfix - TJamSystemShellView: Copy and paste operations of folders inside zip archives now work as expected.
  • Several minor fixes and improvements have been incorporated.

V9.1.3 Released on 12 August 2014

  • Bugfix - TJamShellList: This version fixes an issue that was introduced with V9.1.2. Setting the viewstyle in a resorted ShellList raised an ArgumentOutOfRange exception.

V9.1.2 Released on 7 August 2014

  • TJamShellBreadCrumbbar: The control now supports the "UseSystemFont" property that automatically applies the default system font.
  • Bugfix - TJamShellBreadCrumbbar: The control will now always accept paths ending on a backslash instead of staying in edit mode under certain circumstances.
  • Bugfix - TJamShellBreadCrumbbar: Painting problems in Windows XP have been fixed.
  • Bugfix - TJamShellBreadCrumbbar: The "MenuItemClick" event is now raised.
  • Bugfix - TJamShellBreadCrumbbar: The control stays in edit mode when the window is resized.
  • Bugfix - TJamShellBreadCrumbbar: The control is resized correctly when the font changes at runtime.
  • Bugfix - JamItemIdList: The "DisplayName" property now returns correct values on Windows XP.
  • Bugfix - TJamSystemShellView: Using context menu commands or invoking them via keyboard on one or more selected elements does not change the current folder of the control anymore.
  • Bugfix - TJamShellTree: Renaming a drive will now work as expected, even if the drive is set as root node of the tree.
  • Bugfix - TJamShellTree: Performance issues occuring when the value of the "MultipleRoots" property was changed at runtime have been resolved.
  • Bugfix - TJamShellList: When a zip archive is opened and the sort column of the previously displayed folder is not available, the zip archive will now be sorted by name.
  • Bugfix - TJamDriveList: The current sort order is now maintained after reloading instead of resorting by name.
  • Some minor fixes and improvements have been incorporated.

V9.1.1 Released on 15 July 2014

  • TJamShellList, TJamFileList: Custom columns do not need to be placed at the end anymore. Using the "Index" property you can insert them anywhere after the first column.
  • TJamShellListList, TJamFileList: Custom columns are now included in the header context menu, so it is possible to hide and redisplay them.
  • TJamShellTree: Selecting a link to a folder now opens the link destination in a connected TJamShellList component.
  • TJamShellBreadCrumbBar: The dropdown list of the control now contains the same entries as the Windows Explorer (i.e. paths that have been typed before). We also provided the possibility to add custom locations to this list by using the method TJamShellBreadCrumbBar.SetCustomDropDownList.
  • TJamShellBreadCrumbBar: Environment variables can now be entered into the component, they are resolved correctly.
  • Bugfix - General: A bug that made context menu operations stop working asynchronously was fixed.
  • Bugfix - TJamShellList, TJamFileList: SubItems are accessible again, when the "OnAddItem" event is implemented and the list is in report view.
  • Bugfix - TJamShellList, TJamFileList: Setting "UseSystemFont" to true doesn't have an effect on property "RowSelect" anymore.
  • Bugfix - TJamSystemShellView: Selecting many files at once or adding files to the selection will not slow down the list anymore.
  • Bugfix - TJamSystemShellView: Creating folders on cloud directories now works as expected, the item is automatically set to edit mode after creation.
  • Bugfix - TJamSystemShellView: The method "SelectedFilesSize()" does not throw an exception anymore when nothing is selected.
  • Bugfix - TJamSystemShellView: A possible StackOverflow exception occurring with a scaled UI is prevented.
  • Bugfix - TJamSystemShellView: Double-clicking a link to a folder in "Recent Places" will now open the linked folder.
  • Bugfix - TJamSystemShellView: The property "Caption" of a TJamSystemShellItem in the OnAddItem event handler was empty or wrong for drive and recycle bin items. This has been fixed.
  • Bugfix - TJamShellList: A file that is added per drag and drop is now automatically selected in the list.
  • Bugfix - TJamShellList: When changing the view the selection is retained.
  • Bugfix - TJamShellList: The current widths of columns is stored and reapplied when changing the view and resetting it to report.
  • Bugfix - TJamShellTree: The property "SpecialFolder" is now correctly applied at runtime.
  • Bugfix - TJamShellTree: Expanding the network node is now working as expected when the property "MultipleRoots" is set to "mrAuto".
  • Bugfix - TJamShellTree: Opening the desktop in the "Favorites" node now opens the desktop folder in a connected control like TJamShellList.
  • Bugfix - TJamShellTree: Filtering now works correctly on renamed files.
  • Bugfix - ShellBrowser: A problem with icon transparency in the context menu has been fixed.
  • Bugfix - TJamShellBreadCrumbBar: Leaving the BreadCrumbbar by e.g. clicking on the Window title will now end the mode that opens subfolder menus automatically by only moving the mouse over an item.
  • Several minor fixes and improvements have been incorporated.

V9.1 Released on 09 May 2014

  • Support for RAD Studio/Delphi XE6 has been added.
  • TJamPathEdit: A new property "ShowImage" has been added. It controls whether the "..." button displays a folder icon instead of dots.
  • Breaking Change - TJamShellTree: When using the property "MultipleRoots" you can now easily configure the TJamShellTree to include root nodes for "Favorites", "Network" and "Libraries".
    "MultipleRoots" is now a tristate property - "mrSingleRoot" will only display one root for the tree. With the new value "mrAuto" TJamShellTree automatically applies Windows Explorer settings. Using "mrMultipleRoots" you can freely determine the root nodes via code.
  • TJamShellTree: The network folder is now enumerated in the background. Blocking delays that occurred when accessing network paths have been eliminated.
  • FJamFilePreview: Registered PreviewHandlers are now loaded "out of process". This avoids problems regarding bitness inconsistencies between the system, the PreviewHandler and the application hosting the preview (this prevents failures in previewing PDF files with Adobe Acrobat PreviewHandler on Windows 8/64bit in x64 applications).
  • Bugfix - TJamSystemShellView: Opening an item under "Saved Searches" now opens the saved search, instead of bringing up "Pathname not valid".
  • Bugfix - TJamShellBreadCrumbBar: The initial height is now calculated correctly.
  • Bugfix: An application running with elevated rights (behind the UAC) in some cases opened the CD/DVD tray if no media was present in the drive.
  • SF_UNKNOWN has been added to the TJamShellFolder enumeration, it is no longer an alias for SF_FILESYSTEMFOLDER. It is returned in case a folder is not a known special folder and does not have a file system path.
  • Breaking Change: Moved class TJamPathList from unit "ShellBrowser" to unit "JamSelectionList".
  • Breaking Change: Extracted component TJamShellChangeNotifier to new unit "JamShellChangeNotifier".
  • Several minor fixes and improvements have been incorporated.

V9.0.3 Released on 06 Feb 2014

  • JamShellBreadCrumbBar: The "Font" property is now supported.
  • JamFilePreview: Added support for some event handlers. Note that currently these handlers are only triggered if the event is not handled by the PreviewHandler already.
  • Bugfix - JamShellList and JamShellTree: Under certain circumstances (depending on Delphi version/Windows version/Windows theme) checkboxes were not visible anymore. This issue has been resolved.
  • Bugfix - JamShellList: When a file is modified, the ShellList automatically updates the changed values (such as size, modification date, attributes, thumbnail).
  • Bugfix - JamShellTree: Drive nodes do not disappear anymore on Windows 8.1 when drives are added/removed at runtime (e.g. by attaching a USB stick)
  • Bugfix - JamThumbnailImage: The "Path" property keeps track of the displayed file if the component is synchronized via a ShellLink control.
  • Bugfix - ShellBrowser controls can now be added to a Win64-only platform project on Delphi XE5.
  • Bugfix - JamFilePreview: The preview of an image is now updated once the image file is changed in the background.
  • Bugfix - JamPathEdit: Setting the "Enabled" property to "false" will not discard the control's color anymore.
  • Bugfix - JamShellBreadCrumbBar: The items in the dropdown list of a breadcrumb item are now explicitly sorted.
  • A few minor fixes and improvements have been incorporated.

V9.0.2 Released on 23 Dec 2013

  • Bugfix - JamShellTree: This version fixes an issue concerning the setting of checkstates of nodes in the ShellTree during initialization phase (designtime and runtime). The bug was introduced with V9.0.1 and resulted in an AccessViolation when loading a ShellTree with activated checkboxes.

V9.0.1 Released on 19 Dec 2013

  • Added new Special folder SF_Links which represents the "Links" folder on Windows Vista and later.
  • Bugfix - JamFileList: The delete operation can no longer be executed if the FileList is "readonly" .
  • Bugfix - JamShellTree: Faster synchronization of the checkstates of nodes.
  • Bugfix - JamShellTree: Checkboxes are painted correctly when using VCL themes.
  • Bugfix - JamShellList: Setting the font now changes the property "UseSystemFont" automatically.
  • Bugfix - ShellBrowser: Icons in developer supplied context menu items are now retained on Windows 7+ Aero theme.
  • Bugfix - JamShellBreadCrumbBar: A few errors in event handling and painting have been fixed.
  • Bugfix - JamFilePreview: The DoubleClick Eventhandler is now called (if the PreviewHandler doesn't handle it already).
  • Bugfix - JamFilePreview: On some machines running Windows 8/x64 PDF files cannot be displayed using the Acrobat Preview Handler. In those cases, the component uses the Adobe Acrobat ActiveX control.
  • A few minor improvements and fixes have been incorporated.

V9.0.0 Released on 24 Oct 2013

  • Support for RAD Studio/Delphi XE5 has been added.
  • TJamShellBreadCrumbBar: A new component adding the "breadcrumb" address bar known from Windows Vista and higher.
  • TJamFilePreview: A new component adding the preview pane known from the Windows Explorer. It enables users to view file contents without opening the files.
  • TJamDriveList: The column "file system" is now available.
  • TJamDriveList: The header context menu enabling users to choose visible columns is now integrated.
  • TJamDriveList/TJamFileList/TJamShellList: A new property "ShowHeaderContextMenu" to en-/disable the header contextmenu has been added.
  • TJamDriveList/TJamFileList/TJamShellList: A new event "OnAfterShellColumnChanged" informs when columns have been added or hidden.
  • TJamShellList, TJamFileList, TJamDriveList, TJamShellTree: A new event "OnSort" is triggered when sorting is started or ended, as indicated by the parameter "sortStage" (ssBeforeSort, ssAfterSort).
  • TJamShellList: Custom columns that were added by calling "SetColumnVisibility" are included in the header context menu, too
  • TJamPathEdit: The option to add a new folder via the dialog is now included in the foldermode.
  • TJamDropFiles: Vista-style drag icons and hints are supported.
  • TShellControlHelper: class function "AssociateIconWithExtension" has been added , facilitating the creation of the necessary registry entries to associate a file icon to a file type.
  • TJamSystemShellView: the default viewstate is now "Auto"
  • C++ Builder 2006 is no longer supported.
  • Bugfix: Context menu operations do not block the UI thread anymore (this behavior occurred in Windows Vista and later versions)
  • Bugfix: A painting problem concerning thumbnails of .JPG files in TJamShellList has been fixed.
  • Bugfix: The TJamShellTree is now invalidated at the end of a realignment process, avoiding the appearance of a black area.
  • Bugfix: Checking a node in TJamShellTree with more than 500 children no longer raises an exception.
  • Bugfix: The new structure of node "MyPC" on Windows 8.1 provoked an exception in TShellBrowser and TJamShellList.
  • A few minor improvements and fixes have been incorporated.

V8.1.3 Released on 21 Jun 2013

  • Support for RAD Studio/Delphi XE4 has been added.
  • JamShellList, JamShellTree, JamFileList, JamSystemShellView: Verb "copypath" is now supported in InvokeCommandOnSelected(). If used, the path of the currently selected item(s) is copied to the clipboard.
  • Bugfix - Problems concerning the transparency of components (especially in Thumbnails view) using VCL styles have been fixed.
  • Bugfix - JamShellTree: The "OnCompare" event is now fired and can be used to change the sorting.
  • Bugfix - JamShellList: The "OnOperation" event is now fired for deleting and pasting files.
  • Bugfix - JamShellList: The "Del" key is working again when "AutomaticRefresh" is true. This error occurred in Windows Vista and later versions.
  • Bugfix - JamSystemShellView: Column headers are only visible in Details view, even if the ViewStyle is determined automatically.
  • JamFileList: Boolean property TJamSearchOptions.FilesOnly is marked obsolete and is replaced by TJamSearchOptions.FilesAndFolders with the possible values ffFilesOnly, ffFoldersOnly, ffFilesAndFolders.
  • Breaking change - JamShellList: OnThumbnailUpdated now provides the list item instead of the ImageIndex.
  • A few minor improvements and fixes have been incorporated.

V8.1.2 Released on 28 Feb 2013

  • Bugfix - JamFileList: When using the Search method, sorting now distinguishes between folders and files.
  • Bugfix - JamShellList: Sorting by recently added shell columns works again.
  • Bugfix - JamShellList: The OnBeforeShellCommand event is triggered when entering a folder by doubleclicking or pressing the 'Enter' key.
  • Bugfix - JamShellTree: Exceptions are now avoided during Drag&Drop (Win XP).
  • Several minor improvements and fixes have been incorporated.

V8.1.1 Released on 11 Feb 2013

  • ShellBrowser V8.1.1 supports C++ Builder XE3 64bit.
  • TJamFileList: Reviewed and optimized the sorting process.
  • TJamFileList: Reviewed and optimized the search functionality.
  • TJamFileList: Property 'ShowContextMenuOnTop' is now available.
  • TJamShellList: The sort column is now stored when changing the folder. Please note: It is only stored for the SpecialFolder, not the specific file system folder.
  • Bugfix - TJamShellList, TJamFileList: The creation and last modified date columns now display the local date-time information instead of UTC date-time.
  • Bugfix - TJamShellList, TJamFileList: The function 'GetVisibleColumns' no longer returns the hidden columns.
  • Bugfix - TJamShellList, TJamShellTree, TJamShellCombo: The icon's background is now correctly painted in the background color of the control.
  • Bugfix - TJamShellList: Improved Drag&Drop experience, e.g. the DragImage doesn't overlap dialog windows anymore.
  • Bugfix - TJamShellList: If file extensions are hidden in Windows, they are no longer shown if a file is renamed in the TJamShellList.
  • Bugfix - TJamShellList: Sorting is possible again for ViewStyles different to vsReport.
  • Bugfix - TJamFileList: 'Cut' and 'Copy' work if the selected files are located on different partitions.
  • Bugfix - TJamFileList: Fixed exception that occurred when setting the property 'ShowColumnHeaders' to false.
  • Bugfix - TJamFileList: Fixed delay in lists with many items when hitting 'End' key to jump to the end of a list.
  • Bugfix - TJamFileList: Fixed problem that occurred when deleting many files at once.
  • Bugfix - TJamShellTree: Property 'NoFillOnStartup' now works.
  • Bugfix - TJamShellTree: A beep sound is no longer played when specific keys are pressed (e.g. Ctrl+C).
  • Bugfix - TJamDriveList: The shell columns are correctly filled when a custom column is added.
  • Bugfix - TJamBrowseForFolder: Fixed a bug where the path property couldn't always be set when using Delphi < 2009.
  • Bugfix - TJamPathEdit: The hint will no longer be reset when the property 'Path' is set.
  • Several minor improvements and fixes have been incorporated.

V8.1 Released on 18 Oct 2012

  • Official support for Delphi XE3 and Windows 8 has been added.
  • TJamShellList, TJamFileList, TJamDriveList: On Windows Vista and later the large drag icons and the feedback text is now shown when dragging items. This was formerly working only when these controls were the drop target and now works also if they are the drag source.
  • TJamShellList, TJamFileList: The handling when activating or deactivating columns has been improved.
  • TJamShellList, TJamFileList: Added event OnBeforeShellColumnChanged which is triggered before the visibility of a column changes and can be used to prevent the change.
  • TJamShellList, TJamFileList: Added a new public property ColumnOrder: Array of Integer, which returns the internal order of the shell columns.
  • TJamShellList: The event OnBeforeShellCommand now includes all paths if multiple items were selected.
  • TJamSystemShellView: Added view mode "Auto" in which the view mode is defined automatically by the content of the folder.
  • TJamSystemShellView: Extra large, small and large icons can be set now as view mode.
  • Added class TShellColumns that contains members for the important shell columns.
  • TJamShellLink: The methods FullRefresh() and SmartRefresh() have been merged to a single method Refresh() with a parameter for the refresh level (rfFull, rfSmart, rfCheckboxes). This allowed us to improve displaying and updating of checkboxes.
  • The help is now installed again as CHM-file instead of multiple HTML-files.
  • TJamShellList: Sorting in Libraries works for all columns now.
  • TJamShellTree: Setting RootedAtFileSystemFolders to a hidden folder works even if ShowHidden property is False.
  • Bugfix: TJamFileList: Renaming in FileList no longer leads to doubled file extension when file extensions are hidden by Windows.
  • Bugfix - TJamSystemShellView: Column headers are only shown in Details view.
  • Bugfix - TJamShellList: Setting view style in OnPathChanged no longer produces a stack overflow.
  • Bugfix -TJamShellList, TJamDriveList: Sorting works again if the ViewStyle is not vsReport.
  • Bugfix - TJamShellList, TJamShellTree: Checkboxes for Libraries that contain more than one folder work correctly now.
  • Bugfix -TJamBrowseForFolder: Properties WindowTitle and DialogButtonCaption work again when bfNewDialogStyle is True.
  • Bugfix - TJamShellChangeNotifier: In rare cases subsequent identical events were ignored.
  • Bugfix - TJamFileList: Sorting works again if accessible and non-accessible items are in the list.
  • Bugfix - TJamShellTree: Fixed situation in which all subfolders of a network share have the same name.
  • Several minor fixes and improvements have been incorporated

V8.0.2 Released on 18 Jan 2012

  • TJamShellList: The property UseSystemFont can now be set to True if ParentFont is True. ParentFont will then be set to False automatically.
  • TJamShellList: The value for the ParentDoubleBuffered and the Font property now persist when closing and reopening the project.
  • Bugfix: A workaround that we introduced for a bug in the VCL T(Custom)ListView when OwnerDraw is set to True could cause a stack overflow. The workaround has been improved.
  • Bugfix: When sorting a TJamFileList by its "Name" column, now folders are sorted again on top of files.
  • Bugfix: TJamSystemShellView.CreateDir() with the parameter Editable = True now puts the item in edit mode again.
  • Bugfix: When a file was deleted in a TJamFileList e.g. using the DEL key, it was not removed from the list.
  • The help files have been improved.
  • Several minor fixes and improvements have been incorporated.

V8.0.1 Released on 29 Dec 2011

  • Improvement: A new sample project "CustomColumns" has been added which demonstrates the use of custom columns in a TJamShellList.
  • Improvement: The new help introduced with V8 has been improved and the file count has been reduced.
  • Improvement: A new static class TShellColumns has been introduced that supplies the Shell Column IDs of the most important shell columns.
  • Bugfix: The property TJamShellTree.RootedAtFileSystemFolder worked only the first time a value was assigned to.
  • Bugfix- TJamSystemShellView: Column headers are now correctly shown and hidden when switching between different ViewStyles.
  • Bugfix - TJamSystemShellView: In 64Bit builds the list could be empty after hitting a cursor key.
  • Bugfix - TJamSystemShellView: The context menu item "Open" now works correctly.
  • Bugfix: TJamFileList.IsColumnVisible(TShellColumns.ParentFolder) now returns the correct value.
  • Bugfix - TJamFileList: The Search() method now takes the time zone into account correctly.
  • Bugfix - TJamDriveList: Switching the visual style in the Windows Control panel unchecked all checked drives.
  • Bugfix - TJamDriveList: External exceptions e.g. from context menu extensions are now caught and suppressed.
  • Several minor fixes and improvements have been incorporated.

V8.0 Released on 30 Sep 2011

  • Improvement: Support for Delphi XE2 and the 64Bit compiler has been added.
  • Improvement: Windows Shell ItemIdLists are now stored using an interfaced object that implements the new IItemIdList interface. We use the reference counting of TInterfacedObject to free the memory of the wrapped ItemIdList. This allowed us to remove many lines of code in which ItemIdLists have been copied. Furthermore the path and the special folder (TJamShellFolder) are cached along with each ItemIdList. All this should lead to performance improvements. This is more an internal change and the code of most of our customers should not be affected by this change. In case you used the type PItemIdList in your code, it should be sufficient to change it to IItemIdList.
  • Improvement: The property IconSpacing has been added to TJamShellList and TJamFileList. It allows defining the spacing between the icons in pixels.
  • The help file is now generated based on the XML comments in the source code and is HTML-based now.
  • Improvement: The property TextColor has been added to the items shown in the components TJamShellTree, TJamShellList, TJamFileList and TJamDriveList. It allows modifying the text color of each item .
  • Improvement: On Windows 7 the context menu operations "delete" and "paste" are now again performed in background threads. Windows 2000/XP did this automatically, unfortunately Microsoft removed the asynchronous execution of shell context menu commands in Windows 7.
  • Improvement - TJamShellList: If the ViewStyle property is vsList, then sorting can now be triggered using the background context menu.
  • Improvement: The methods IsColumnVisible() and GetVisibleColumns have been added to TJamShellList and TJamFileList.
  • Improvement: TJamFolderCombo has a new property Sorted. If set to True, the items will appear in alphabetical order, if set to False, they will appear in the order they have been added.
  • Bugfix: A few repainting problems of the TJamShellCombo and TJamFolderCombo have been fixed.
  • Bugfix: Editing in TJamShellCombo was no longer working if the property ShowFullPath was set to True.
  • Bugfix: When TJamShellTree or ShowFullPath were assigned to a new parent control, they lost their selected folder.
  • TJamShellChangeNotifier: The event type neNetUnshare has been merged into the event neNetShare, because it was effectively never fired by Windows. The event type neNetShare occurs if a folder or drive is being shared, or the sharing is being revoked.
  • The default color of the property ThumbnailBorderColor of the classes TJamShellList and TJamFileList is now clNone which meets the style of Windows7/Vista.
  • The support for Delphi 6 and Windows 2000 has been removed. V7 which is compatible with Delphi 6 and Windows 2000 will remain available in our customer's area for registered users with valid maintenance.
  • The include file VER.INC has been made obsolete, we instead use conditional compiler statements like {$if CompilerVersion > 18} .
  • A major code cleanup was performed and numerous minor fixes and improvements have been incorporated.

V7.3.2 Released on 12 Jul 2011

  • Improvement: If the property ShellContextMenu of the TJamShellList is set to False, now also the background context menu is not shown any more.
  • Improvement: When performing a right mouse button drag from a readonly source, the resulting drop menu does no longer offer to move the file.
  • The property TJamFolderCombo.ItemIndex is no longer published but public now.
  • Bugfix: The method call TJamShellList.InvokeCommandOnSelected('default') showed an error if more than one file was selected.
  • Bugfix: TJamShellCombo could raise an unhandled exception when it was visible while the Windows theme was changed to "Windows classic" style.

V7.3.1 Released on 30 Jun 2011

  • Improvement: The method TJamShellList.SetColumnVisibility() now allows to turn on or off certain columns using its ShColumnId.
  • Bugfix: Setting TJamFolderCombo.Editable to False now has the intended effect that no edit field is available to the user.
  • Bugfix: Occasional "List index out of bounds" errors for the TJamDriveList have been resolved.
  • Bugfix: The context menu of the column header of the TJamShellList was shown at the wrong position in some cases.
  • Bugfix: After the user removed columns using the context menu of the column header, sorting was not always working correctly.
  • Bugfix: If the AutoSizeColumn property of the TJamShellList and TJamFileList was set to a value larger than the actual column count, then a stack overflow occurred.
  • Bugfix: Setting the path property of TJamBrowseForFolder did not have any effect with bfNewDialogStyle on Windows Vista and later.
  • Several minor fixes and improvements have been incorporated.

V7.3 Released on 14 Apr 2011

  • New Feature: TJamFileList and TJamShellList now include a context menu for the column headers that allows turning on or off certain columns.
  • New Feature: TJamDriveList has the new properties "WarnLevelPercent" and "ErrorLevelPercent". They can be used to change the color of the small bar chart which shows the free space in yellow or red, dependant on the percentage of free space. The default values are 8 and 2 percent. Set these properies to 0 if you do not want the color to be changed.
  • New Feature: The property "IconsBasedOnFileExtension" has been added to TJamShellList and TJamFileList. If set to True, icons will be queried from the system based on the file extension only. This is usually faster compared to using the full path. The most noticeable difference is for executable files, which will no longer show the included icon but a standard icon.
  • New Feature: The method AutoAdjustColumnWidths() has been added to TJamShellList and TJamFileList. If called, it adjusts the column width to an optimal value, just like the shortcut Ctrl + Num+ does in every ListView.
  • New Feature: The menu item "Paste Shortcut" has been added to the background context menu of the TJamShellList, just like it exists in the Windows Explorer. The chosen view type and sort column are now marked in the background context menu of TJamShellList.
  • New Feature: The new property TJamFileList.AllowDropToBackground lets you decide if files can be added to the list using drag and drop. The default value is True.
  • Improvement: The controls TJamShellCombo and TJamFolderCombo are now derived from TComboBoxEx instead of TComboBox. Since TComboBoxEx supports images and indents, we were able to remove our code for custom-drawing the items. The Windows XP Explorer also uses the Windows ComboBoxEx control for its address bar, that means our TJamShellCombo now looks more like the original Explorer control.
  • Improvement: The type of the property BackgroundImage in TJamShellList and TJamFileList has been changed from TBitmap to TPicture. That way other file types beside BMP are supported, e.g. JPG and PNG.
  • Improvement: We are now using Windows Vista style drag and drop cursors on Windows Vista and later.
  • Improvement: The event TJamSystemShellView.OnChanged has been added. It is triggered after a full refresh of the list or when the state of an item (e.g. selection) in the list has changed.
  • New Feature: The standard Windows 7 libraries have been added to the set of special folders in TJamShellFolder.
  • Improvement: The new class procedure TShellBrowser.SetThumbnailProvider() allows setting a callback function that is called for non-available thumbnails. This allows to support thumbnails for file formats for which Windows does not have a thumbnail provider installed.
  • Improvement: The CreateDir() method of TJamShellList and TJamShellTree now also works in a Windows 7 library.
  • Improvement: The inherited event OnCanResize is now published for all controls in Delphi 2010 and higher.
  • Improvement: The TJamBrowserForFolder dialog now uses the Vista style browse dialog on Windows Vista and higher and Delphi 2009 and higher.
  • Improvement: We are now using Windows API functions to deal with PItemIdLists instead of our own pointer arithmetic.
  • Improvement: The horizontal and vertical alignment of the thumbnails has been improved.
  • Improvement: Some sample projects have been improved.
  • Improvement: If TJamShellTree.FileSystemOnly is set to True, ZIP files are not listed any more as folders.
  • Improvement: Added new event OnInvalidPath to TJamSelectionList which is triggered whenever an invalid path is added to the list.
  • Bugfix: Adding an UNC path of non-reachable servers to the TJamDriveList no longer causes a delay (blocking) of the application.
  • Bugfix: The "Return" key now executes the default action for all files if multiple files are selected.
  • Bugfix: In the TJamFileList the first drawn item was not initialized correctly in some cases, this resulted in missing column details for the item.
  • Bugfix: An Access Violation could occur when setting TJamShellList.ViewStyle to the value vsReport if ShowExtraLargeIcons was True.
  • Bugfix: TJamSystemShellView.ItemCount could be 0 in the OnPopulated event.
  • Bugfix: When the property TJamSystemShellView.Filter is set, then "My Computer" is no longer displayed entirely empty.

V7.2.1: Released on 13 Oct 2010

  • The keyboard shortcut Alt+Up now goes up one level in TJamShellList and TJamSystemShellView, like in the Windows 7 Explorer.
  • The size of file in Windows 7 Libraries folders is now formatted in KB instead of Bytes.
  • Bugfix - TJamDriveList: fixed possible AV when using the OnAddItem event and having the property CheckIfExists set to True
  • Bugfix: The Windows Fonts folder was missing when the property FileSystemOnly was set to True.
  • Bugfix: A confirmation dialog, e.g. when deleting files, was sometimes not shown on top of the application.
  • A few minor fixes and improvements have been incorporated.

V7.2: Released on 23 Sep 2010

  • Added support for Delphi XE
  • The "New" submenu of the background context menu of the TJamShellList control is now filled like in the Windows Explorer, including "New Shortcut" and all file types registered for this menu.
  • The JamShellList is now resorted if new items have been added due to an automatic update.
  • Added overloaded version of TShellBrowser.GetColumnText() that works with a SHCOLUMNID instead of a column index
  • Added special folders SF_MY_MUSIC, SF_MY_PICTURES, SF_MY_VIDEOS to TJamShellFolder enumeration.
  • Added new event OnBeforeShellCommand to TJamShellTree
  • Now caching ItemIdLists of special folders in a static array, this improves the performance of the frequently used function TestForSpecialFolder().
  • The columns in Report mode are now filled correctly in Windows 7 Libraries folders
  • The TJamDriveList now shows network drives correctly in applications that have been started as administrator under Windows 7. Formerly they sometimes had a red cross as overlay icon.
  • Bugfix: The event TJamShellList.OnPathChanged was not triggered if the ShellLink property was not assigned.
  • Bugfix: The paths supplied by the TJamShellList.OnBeforeShellCommand event sometimes were empty for keyboard triggered operations.
  • Bugfix: TJamSystemShellView.Filter was not working.
  • Bugfix: In the TJamShellList the default "open" command was not working for files in ZIP archives.

V7.1.1: Released on 15 Jun 2010

  • Added workaround for a linker problem that could occur in C++ Builder 2009 and 2010.
  • Bugfix: Setting TJamSystemShellView.ViewStyle to another value than its default value in the Object Inspector at design time produced an unhandled exception when running the application.
  • Bugfix: Double clicking on a file in a ZIP-file did not open the file.
  • A few minor tweaks have been incorporated.

V7.1: Released on 25 May 2010

  • Added property AutoSizeColumn to JamShellList and JamFileList which adjusts the defined column to fill the remaining horizontal space so that no scrollbar appears.
  • Added property JamPathEdit.Color which is mapped to the aggregated TEdit.Color.
  • Delphi Edition: Added event JamShellCombo.OnAddFolder which is triggered whenever an item is added to the box.
  • Delphi Edition: Added property TJamComboItem.Path which contains the file system path of the item. It will be empty for non file system objects.
  • Added property Paths to TFileList that returns a list of paths of all file system objects contained in the list.
  • ZIP files now open within the JamShellList if they are double clicked.
  • The values JamShellList.Path and TJamShellTree.SelectedFolder are no longer stored in the DFM file if the SpecialFolder property has a value that is not SF_FILESYSTEMFOLDER. This ensures that special folder paths are evaluated using Windows API functions.
  • The context menu of the JamFileList has been improved, especially on Windows 7, if more than one file is selected.
  • The column header of the JamDriveList now shows a context menu that allows to activate or deactivate columns.
  • If the shell context menu cannot be queried from the system and a context menu of the application was given for merging (assigned to the PopupMenu property), then this popup menu is shown now.
  • Resorting has been improved after a folder in the JamShellList has been renamed.
  • Bugfix: The check state of items in the JamShellList could be returned incorrectly if the item was not yet visible (not scrolled into view).
  • Bugfix: In Delphi 2009/2010 the TJamFileList lost its contents if the ViewStyle property was changed.
  • Bugfix: A potential memory leak has been fixed when dropping files to JamshellTree.
  • Bugfix: Dependent on other properties' values, the font color set at design time was not used at runtime.
  • Bugfix: If non file system objects are dropped from applications that supply the file name only as ANSI String, then the file names are now also extracted correctly in Delphi 2009/2010.
  • Several minor improvements have been incorporated.
  • The support for C++ Builder 6 has been dropped.

V7.0.4: Released on 21 Jan 2010

  • The JamFileList and JamShellList now toggle the checkboxes of all selected items if the space bar is hit or the checkbox of one selected item is clicked.
  • If a file was dropped from Outlook, the file name is now supplied in the OnOperation event.
  • Added SF_PROGRAM_FILESX86, SF_PROGRAM_FILES_COMMONX86, SF_SYSTEMX86 to TJamShellFolder enumeration.
  • Now catching EExternal exceptions when the Explorer context menu is displayed.
  • The default value of JamSearchOptions.UseFullPathWhenComparing is now False
  • Improved paint position of thumbnail in JamThumbnailImage control.
  • The path that is suggested by the installer as default has been changed
  • ActiveX Edition: If threads were still active, the termination of the application hosting ShellBrowser ActiveX controls could take several seconds. This has been improved.

V7.0.3: Released on 23 Nov 2009

  • Now preventing a floppy seek noise that occurred in previous releases of V7 if "My Computer" has been enumerated on a Windows Vista or Windows 7 system.
  • Delphi Edition: Now triggering the OnContextPopup event before showing the Shell context menu.
  • Renamed TJamSelectionState.ssNone to ssDisabled, because this name fits better and solves a name collision with TScrollStyle.ssNone
  • Bugfix (ActiveX / Delphi 2009 / Delphi 2010): If JamShellList.ViewStyle has been changed while a virtual folder was displayed (e.g. a subfolder in a ZIP file or the new libraries of Windows 7) the displayed folder was resetted to "My Computer".
  • Bugfix: For files that no longer existed the JamFileList showed the full path also in the second column.
  • Several minor improvements and a few minor bug fixes have been incorporated.

V7.0.2: Released on 16 Oct 2009

  • JamFileList: If the Details property is turned off, the first column now shows the full path of the file.
  • The property Gridlines is now published for JamShellList and JamFileList control.
  • Bugfix: The setting of the UseSystemStyle property was not always applied correctly, dependent on the order in which the other properties were assigned.
  • Bugfix - JamShellList: Switching from vsIcon to vsReport view style produced an empty view due to missing columns.
  • Bugfix: Under Windows Vista and Windows 7 items could disappear from the JamShelList when SmartRefresh() was called if it was in vsReport mode but not sorted by the first column.
  • Bugfix: Occasionally the selected icon in the JamShellTree was not set correctly.
  • Bugfix: The JamFileList now supports again dragging of multiple files correctly.
  • A few minor improvements and fixes have been incorporated.

V7.0.1: Released on 15 Sep 2009

  • Bugfix: It could have happened that the new default background context menu was executed although it was not assigned.
  • Several minor improvements and a few minor bug fixes have been incorporated.

V7.0: Released on 10 Sep 2009

  • Since there are now with Delphi 2010 two Unicode enabled Delphi versions available, we decided to remove the dependency on the TMS Unicode controls from V7 of the ShellBrowser components. We received many requests from customers who didn't want to use TMS Unicode but were forced to do so because of this dependency. We also removed the support for Windows 9x from V7 of the ShellBrowser components. These changes will make the code much easier to maintain and to test and last but not least faster and smaller. For those who still want Unicode support in older Delphi versions or still want to support Windows 9x: ShellBrowser V6 will stay available for existing customers in our customer's area and critical bugs will still be fixed.
  • Added new properties ShowExtraLargeIcons and ShowJumboIcons to the JamShellList and JamFileList, which allows the user to switch the size of the icons in ViewStyle vsIcon. Jumbo Icons are only available under Windows Vista and later.
  • Added new property Checked to the JamShellListItem, JamShellTreeNode and JamFileListItem, which makes it easier to check an item or a node, it will than also be added to the JamShellLink.JamSelectionList.
  • The JamShellCombo now evaluates environment variables like %TEMP% entered in their address bar, similar to the Windows Explorer.
  • Added a background context menu to the JamShellList. This will be displayed if no background context menu is assigned to the BackgroundPopupMenu property of the JamShellList. It implements a subset of the Windows Explorer context menu.
  • The performance when listing the recycle bin in the JamShellList has been improved.
  • Bugfix: The OnMouseEnter and OnMouseLeave events will now be fired correctly in the ActiveX version.
  • Bugfix: If the JamSelectionList has been cleared, it could happen that the checkboxes in a JamShellTree have not been entirely reset.
  • Several minor improvements and a few minor bug fixes have been incorporated.