常见问题解答
我们收集了客户最常问的问题,并让我们的专家给出了答复。快来看看您关于ShellBrowser Delphi Components上的问题是否已得到解答。
我们是否需要为我们分发的和使用ShellBrowser Components的EXE文件支付额外的版税?
不需要。ShellBrowser组件是免版税的。这意味着在您购买了它们之后,您可以分发编译好的项目,而不需要额外的成本或费用。
如何在RAD Studio中手动注册ShellBrowser组件?
使用我们的安装程序时:在RAD Studio中选择:Components > Install Packages > Add... > "%BDSCOMMONDIR%\BPL\JamShellBrowserDesign.bpl”
使用ZIP文件下载时(仅限源代码客户):解压缩ZIP文件,打开“Packages\RAD Studio XE*\JamShellBrowserDesign.dproj”,右键单击项目管理器中的“JamShellBrowserDesign.bpl”,然后选择“Install”。
编译期间,我收到错误消息“Fatal Error: File not Found: ShellBrowser.dcu”。这是怎么了?
Delphi的库路径中缺少ShellBrowser的路径。您可能需要在Tools / Environment Options / Library / Library Path下手动添加它。
将文件复制到剪贴板的最简单方法是什么?
将TShellBrowser组件放置在表单上,并使用与ShellBrowser.InvokeContextMenuCommand示例中的代码类似的代码。
如何将XYZ显示为缩略图?
缩略图是通过Windows Explorer使用的相同Windows API函数生成的,因此ShellBrowser组件将显示类似于Windows Explorer的缩略图。要为Windows不支持的特定文件格式提供现成的缩略图,最好在系统中注册一个thumbnail provider。另一个选择是使用TJamShellList控件的onSumbNailUpdated事件,它允许您更改生成的缩略图。TShellBrowser.SetThumbnailProvider() 允许您设置一个应用程序范围的缩略图提供程序,如果系统不提供缩略图提供程序,则调用该缩略图提供程序。
ShellBrowser Delphi Components的新功能是什么?
版本11.1
新功能和改进
新的“TJamFilterCombo”表示从Windows文件对话框中已知的筛选器组合框。可以指定文件扩展名,作为使用TJamShellLink连接的其他组件的筛选器。在可编辑模式下,组件还可以用于应用非预定义的过滤器,这些过滤器可以动态键入。
新的“TJamOpenSaveCombo”组件表示用于在标准Windows文件打开或保存对话框中选择或提供文件名的编辑组件。
在下拉列表中显示上次使用的文件。使用TJamShellLink,它可以连接到其他ShellBrowser组件,以同步当前目录或筛选下拉列表中可用的文件。有关用法示例,请参阅JamExplorer中的“Dialogs > Custom File Open Dialog”。
TJamShellList、TJamFileList、TJamDriveList:已重新排序。
使用新的“Sort(TShellColumnId, TSortDirection)”方法,现在可以按所有Shell列对项进行排序,无论是否可见。这适用于所有视图状态。
出于性能原因,可以使用“IsSorted”属性将列表设置为未排序。这是FileList的默认值。与前一版本不同,最后一个排序顺序仍然保留,因此您可以在任何时候关闭并重新激活排序。
TJamFileList,TJamShellList:与Windows File Explorer一样,“项目类型”列现在按可见值排序,而不是按相应的文件扩展名排序。
TJamShellList,TJamFileList:对包含日期或数字值的列进行排序时,默认的排序顺序现在是降序。
TJamShellTree:“MultipleRoots”属性有一个新选项:“TMultipleRoots.mrFirstLevel”使用分配给“RootedAt”或“RootedAtFileSystemFolder”的根文件夹;但是,它将枚举所有子文件夹并将其添加为根文件夹,而不是将此文件夹显示为ShellTree的单个根节点。
TJamShellLink:现在可以使用新的“OnNavigating”事件限制与TJamShellLink实例链接的所有控件的文件夹访问。在更改与TJamShellLink实例链接的任何控件的路径之前调用该事件,并且设置“取消”参数将中止路径更改。
TJamDropFiles:拖放操作的“IDataObject”现在可以通过新的“DataObject”属性直接访问。
TShellBrowser:改进了系统图像列表中图标的高DPI缩放
TJamShellList:现在可以在“Name”列之前创建一个自定义列,方法是将索引设置为“0”。如果“FullDrag”被激活,则可以将“Name”列临时移动到其他位置。请注意,下次加载列时,它将在第一个位置还原。
TJamDriveList、TJamFileList、TJamShellList:可以使用新的“OnGetColumnInfo”事件一致地重命名列。给定的名称也将在标题上下文菜单和列选择对话框中使用。
TJamShellList、TJamFileList、TJamShellTree:为ShellList、FileList和ShellTree引入了新的“OnSelectionChanged”事件。当所选内容更改或删除时调用它,但与“OnSelectItem”不同的是,它不会为所选内容中的每个项调用。
TJamShellList:“粘贴”和“新文件夹”现在是可用的了,并在附加移动设备的ShellList背景上下文菜单中工作。
TJamDriveList:现在,每个驱动器的磁盘空间信息每10秒更新一次。可以使用新属性“DefaultUpdateInterval”更改此时间跨度。通过将该值设置为“0”,可以关闭该功能。
TJamShellList,TJamFileList:新属性“IconSize”可用于配置viewstyle vsIcons中图标的大小。属性“StudioBigIon”和“SuxExalalGigeon”仍然存在,但被从对象检查器中删除。此外,将这些属性或属性“Thumbnails”设置为false将不再有任何效果;相反,需要设置所需的图标大小。这是一个突破性的变化。
默认值“IconSpacing”已更改为“-1”,这意味着空间是自动设置的。
ShellBrowser中的新过程“SendDropFiles(HWnd,TStrings)”将给定文件的列表发送到窗口,模拟对窗口的手动拖放操作。
TJamFilePreview:使用“OnLoadPreview”事件中的新“TJamFilePreviewLoadPreviewEventArgs.forceGuitThread”选项,可以强制同步加载和卸载预览,而不是在单独的线程中处理。这可能会解决有关单个PreviewHandlers或用例的问题,其中在异步加载时PreviewHandlers无法按预期工作。
漏洞修复
总体:修复了各个组件中每个监视器的高DPI问题。
Thumbnails、TJamFileList、TJamShellList:为了避免在检索文件夹缩略图时可能出现的延迟,引入了一个新属性“FastFolderThumbnails”。如果设置为true(默认),则仅显示预览文件夹内容的文件夹缩略图(如果它们已被缓存)。
Thumbnails:使用Adobe Acrobat作为缩略图处理程序,以非标准尺寸检索的PDF文件的缩略图显示为黑色。这个问题已经解决了。
TJamFolderCombo:“Sorted”属性现在按预期工作:如果设置为false,则项目将按添加顺序显示。此属性的默认值已更改为“true”。
TJamShellTree:快速访问节点现在不包含ZIP存档,除非为ShellTree激活了“ShowFiles”。此外,ZIP存档文件是使用文件属性识别的,而不是检查扩展名。
TJamShellTree:修复了一个问题,即如果为ShellTree设置了“ShowRorMessages”属性,则无法在Windows 7“Favorites”根节点中选择节点。
TJamShellTree:绘制选定节点时,即使ShellTree没有焦点,也会保留VCL主题的默认文本颜色。对于深色VCL主题,这样可以避免深色背景上的深色文本。
TJamShellList:通过拖放或复制粘贴将大量元素插入文件夹时提高了性能。
TJamShellList,TJamShellSearchEdit:如果显示搜索结果,并通过按backspace键或历史记录组件转到父文件夹,则开始搜索的文件夹现在将重新打开,而不是桌面。
TJamShellList:由于内部问题,并非所有可用的Shell列都可以实际添加到ShellList中。这个问题已经解决了。
TJamShellList,TShellBrowser:打开bitlocker安全驱动器现在显示密码对话框,即使是32位应用程序。
TJamShellList:已修复自定义列和使用VCL主题时出现的闪烁问题。
TJamShellList:改进缩略图性能。
TJamShellList:现在已处理在执行“OnThumbnailUpdated”事件处理程序期间可能发生的“EInvalidOperation”错误。
如果“MultiSelect”属性设置为false,则TJamShellColumnSelectionDialog中的列现在将按字母顺序排序,而不是显示为未排序
TJamShellList,TJamFileList:自动调整列宽的“AutoAdjustColumnWidths”方法,自动调整列的大小以适应其内容,现在在ShellList的“OnPopulated”事件中调用时再次工作。另外,现在可以通过一个不能超过的最小最大范围。
TJamFileOperation:TJamFileOperation现在不再是“TCommonDialog”,而是再次扩展了“TComponent”,因此它也包含在Rad Studio的组件面板中,用于数据模块。
TJamDriveList:“OnAddItem”和“OnAddPath”事件现在再次调用,此时DriveList刷新其内容(例如按F5)。必须在其中一个事件中再次提供自定义列的值。
TJamDriveList:关于“AutoSizeColumn”大小的视觉问题已修复。
TJamDriveList:针对无法到达的位置处理可能的延迟。
TJamPathLabel:在加载不可访问路径时防止了可能的延迟。
总体:修复了EurekaLog为Tjamshell命令报告的可能的“EUseAfterFreeError”。
TJamShellCombo:修复了在特定条件下可能发生的内存泄漏(控件的句柄被重新创建并在不可见时最终被销毁)。
中断更改和不推荐的警告:
类型“TJamSortDirection”已从单元JamSystemShellView移动到Jam.Shell.Types。
TJamItemIdList:“TItemIdListDisplayNameFormat.dnf_relativeForRadDressBar”被重命名为“TItemIdListDisplayNameFormat.dnfRelativeForAddressBar”。
TJamShellList,TJamShellTree:如果没有物理路径可用(例如,对于虚拟文件夹),则某些与路径相关的属性现在返回元素的显示路径,而不是返回空字符串。这些是TJamShellTreeNode.FullPath、TJamShellListItem.FullPath、TJamShellList.Path、TJamShellTree.SelectedFolder。如果依赖于旧功能,请使用相应ItemIdList的“Path”属性。
此外,“TJamShellList.GetFullPath”现在已被弃用。请改用TJamShellItem.Path或TJamShellListItem.AbsoluteItemIdList.Path。
Threadpool:TDelayedProcedure.Create现在不推荐使用。改用类过程“TDelayedProcedure.CreateAndQueue”。
TJamFolderCombo:TJamFolderCombo.AddFolder()现在异步添加给定的路径,以防止在无法访问路径时应用程序被冻结。因此,它不再返回新项的索引,这是一个突破性的变化。如果使用返回值选择添加的项,请改用SelectFolder()方法。
京ICP备09015132号-996 | 网络文化经营许可证京网文[2017]4225-497号 | 违法和不良信息举报电话:4006561155
© Copyright 2000-2023 北京哲想软件有限公司版权所有 | 地址:北京市海淀区西三环北路50号豪柏大厦C2座11层1105室