Build File Explorer Applications in RAD Studio 12

Build File Explorer Applications in RAD Studio 12

December 13, 2023

ShellBrowser Delphi Components v12.1 now support RAD Studio 12 Athens, enabling developers to easily embed File Explorer functionality into their Delphi apps.

ShellBrowser Delphi Components let you harness the familiar Windows Explorer experience within your Delphi or C++Builder applications. These components seamlessly replicate the functionality of Windows Explorer, including left and right panes, context menus, thumbnails, virtual folders, and shell extensions.

The ShellBrowser Delphi Components V12.1 release adds supports RAD Studio 12 Athens. This allows Delphi developers using the latest version of Embarcadero's integrated development environment to create user-friendly file explorer applications using drop-in Shell functionality.

ShellBrowser Delphi Components v12.1

Released: Dec 5, 2023

Updates in v12.1

Features
  • Added support for Embarcadero RAD Studio 12 Athens.
  • TJamFilePreview: Using the new "LoadFromStream" method, you can now load a file preview directly from a TStream. The file extension that must be passed as parameter determines the PreviewHandler that will be used for the displaying the file. As most PreviewHandlers work with file paths internally, the stream is written to a temporary file, which is then displayed.
  • Context Menu: The modern "Share" command, that was introduced with Microsoft Windows 10 is now working in ShellBrowser's context menu. This affects all components that automatically provide an item's context menu, like the TJamShellList, TJamShellTree, TJamFileList.
  • Context Menu: Opening the parent folder is now reported as "saGoUp".
  • TJamShellTree: The ShellTree will now automatically add new root nodes if the folder that is passed via a TJamShellLink is not available within the current nodes. This only applies, if the ShellTree supports more than one root node (i.e. the "MultipleRoots" property is not set to mrSingleRoot).
  • The "JamExplorer" example project now illustrates supporting a dark and a light mode in an application.
  • Some refactorings to the code base have been applied and new units have been introduced.
Fixes
  • A fix concerning the enumeration of Special Folder "Desktop" that was introduced in v12 unfortunately has a major side-effect: the fix causes app freezes if executed in a DLL. This has been fixed.
  • Context Menu: The "OnBeforeCommand" now passes "saUnknown" as value for a command, if the context menu, that was selected by the user, doesn't provide a verb. In the past, those menu items were reported as "saDefault", which is normally the command that is executed when double-clicking an item.
  • The work on this unfortunately introduced a breaking change: If you want to trigger the default command in code, you could in former versions pass an empty string to e.g. "TJamShellList.InvokeCommandOnSelected". Please explicitly pass "saDefault" for this.
  • TJamShellList: In rename operations it is now possible to remove the extension of a file, even if Windows Explorer is configured to hide extensions. In prior versions, trying to do so didn't have any effect.
  • TJamShellList: In recent versions, it was not possible to rename shortcuts (elements with extension ".lnk") correctly. Depending on the setting, whether the file extensions were displayed in the controls, the ".lnk" extension was dropped during the rename operation. This has been fixed.
  • TJamShellList: The "OnBeforeCommand" event is now also called for a rename operation that has been started via 2 mouse-clicks.
  • TJamShellList: A potential AccessViolation that might have happened executing commands such as copying via "Ctrl-C" is now prevented.
  • TJamShellList: Even if IconsBasedOnFileExtension is set, shortcuts will now display the real icon of the file instead of a generic file icon. The icon is fetched asynchronously.
  • TJamExplorerBrowser: Using the setting "FileSystemOnly", zip files are now not hidden from the view anymore. It is just not possible to view their content in the ExplorerBrowser control.
  • TJamDriveList: Updating the list with changing drives and devices has been improved. In prior versions, attaching or detaching USB devices sometimes was not reflected in the DriveList in time.
  • TDetailsPane: A problem where the property display was cut off on high dpi has been fixed.

猜你喜欢

转载自blog.csdn.net/john_dwh/article/details/134986053