常見(jiàn)問(wèn)題解答
我們收集了客戶最常問(wèn)的問(wèn)題,并讓我們的專家給出了答復(fù)。快來(lái)看看您關(guān)于ShellBrowser Delphi Components上的問(wèn)題是否已得到解答。
我們是否需要為我們分發(fā)的和使用ShellBrowser Components的EXE文件支付額外的版稅?
不需要。ShellBrowser組件是免版稅的。這意味著在您購(gòu)買了它們之后,您可以分發(fā)編譯好的項(xiàng)目,而不需要額外的成本或費(fèi)用。
如何在RAD Studio中手動(dòng)注冊(cè)ShellBrowser組件?
使用我們的安裝程序時(shí):在RAD Studio中選擇:Components > Install Packages > Add... > "%BDSCOMMONDIR%\BPL\JamShellBrowserDesign.bpl”
使用ZIP文件下載時(shí)(僅限源代碼客戶):解壓縮ZIP文件,打開(kāi)“Packages\RAD Studio XE*\JamShellBrowserDesign.dproj”,右鍵單擊項(xiàng)目管理器中的“JamShellBrowserDesign.bpl”,然后選擇“Install”。
編譯期間,我收到錯(cuò)誤消息“Fatal Error: File not Found: ShellBrowser.dcu”。這是怎么了?
Delphi的庫(kù)路徑中缺少ShellBrowser的路徑。您可能需要在Tools / Environment Options / Library / Library Path下手動(dòng)添加它。
將文件復(fù)制到剪貼板的最簡(jiǎn)單方法是什么?
將TShellBrowser組件放置在表單上,并使用與ShellBrowser.InvokeContextMenuCommand示例中的代碼類似的代碼。
如何將XYZ顯示為縮略圖?
縮略圖是通過(guò)Windows Explorer使用的相同Windows API函數(shù)生成的,因此ShellBrowser組件將顯示類似于Windows Explorer的縮略圖。要為Windows不支持的特定文件格式提供現(xiàn)成的縮略圖,最好在系統(tǒng)中注冊(cè)一個(gè)thumbnail provider。另一個(gè)選擇是使用TJamShellList控件的onSumbNailUpdated事件,它允許您更改生成的縮略圖。TShellBrowser.SetThumbnailProvider() 允許您設(shè)置一個(gè)應(yīng)用程序范圍的縮略圖提供程序,如果系統(tǒng)不提供縮略圖提供程序,則調(diào)用該縮略圖提供程序。
ShellBrowser Delphi Components的新功能是什么?
版本11.1
新功能和改進(jìn)
新的“TJamFilterCombo”表示從Windows文件對(duì)話框中已知的篩選器組合框??梢灾付ㄎ募U(kuò)展名,作為使用TJamShellLink連接的其他組件的篩選器。在可編輯模式下,組件還可以用于應(yīng)用非預(yù)定義的過(guò)濾器,這些過(guò)濾器可以動(dòng)態(tài)鍵入。
新的“TJamOpenSaveCombo”組件表示用于在標(biāo)準(zhǔn)Windows文件打開(kāi)或保存對(duì)話框中選擇或提供文件名的編輯組件。
在下拉列表中顯示上次使用的文件。使用TJamShellLink,它可以連接到其他ShellBrowser組件,以同步當(dāng)前目錄或篩選下拉列表中可用的文件。有關(guān)用法示例,請(qǐng)參閱JamExplorer中的“Dialogs > Custom File Open Dialog”。
TJamShellList、TJamFileList、TJamDriveList:已重新排序。
使用新的“Sort(TShellColumnId, TSortDirection)”方法,現(xiàn)在可以按所有Shell列對(duì)項(xiàng)進(jìn)行排序,無(wú)論是否可見(jiàn)。這適用于所有視圖狀態(tài)。
出于性能原因,可以使用“IsSorted”屬性將列表設(shè)置為未排序。這是FileList的默認(rèn)值。與前一版本不同,最后一個(gè)排序順序仍然保留,因此您可以在任何時(shí)候關(guān)閉并重新激活排序。
TJamFileList,TJamShellList:與Windows File Explorer一樣,“項(xiàng)目類型”列現(xiàn)在按可見(jiàn)值排序,而不是按相應(yīng)的文件擴(kuò)展名排序。
TJamShellList,TJamFileList:對(duì)包含日期或數(shù)字值的列進(jìn)行排序時(shí),默認(rèn)的排序順序現(xiàn)在是降序。
TJamShellTree:“MultipleRoots”屬性有一個(gè)新選項(xiàng):“TMultipleRoots.mrFirstLevel”使用分配給“RootedAt”或“RootedAtFileSystemFolder”的根文件夾;但是,它將枚舉所有子文件夾并將其添加為根文件夾,而不是將此文件夾顯示為ShellTree的單個(gè)根節(jié)點(diǎn)。
TJamShellLink:現(xiàn)在可以使用新的“OnNavigating”事件限制與TJamShellLink實(shí)例鏈接的所有控件的文件夾訪問(wèn)。在更改與TJamShellLink實(shí)例鏈接的任何控件的路徑之前調(diào)用該事件,并且設(shè)置“取消”參數(shù)將中止路徑更改。
TJamDropFiles:拖放操作的“IDataObject”現(xiàn)在可以通過(guò)新的“DataObject”屬性直接訪問(wèn)。
TShellBrowser:改進(jìn)了系統(tǒng)圖像列表中圖標(biāo)的高DPI縮放
TJamShellList:現(xiàn)在可以在“Name”列之前創(chuàng)建一個(gè)自定義列,方法是將索引設(shè)置為“0”。如果“FullDrag”被激活,則可以將“Name”列臨時(shí)移動(dòng)到其他位置。請(qǐng)注意,下次加載列時(shí),它將在第一個(gè)位置還原。
TJamDriveList、TJamFileList、TJamShellList:可以使用新的“OnGetColumnInfo”事件一致地重命名列。給定的名稱也將在標(biāo)題上下文菜單和列選擇對(duì)話框中使用。
TJamShellList、TJamFileList、TJamShellTree:為ShellList、FileList和ShellTree引入了新的“OnSelectionChanged”事件。當(dāng)所選內(nèi)容更改或刪除時(shí)調(diào)用它,但與“OnSelectItem”不同的是,它不會(huì)為所選內(nèi)容中的每個(gè)項(xiàng)調(diào)用。
TJamShellList:“粘貼”和“新文件夾”現(xiàn)在是可用的了,并在附加移動(dòng)設(shè)備的ShellList背景上下文菜單中工作。
TJamDriveList:現(xiàn)在,每個(gè)驅(qū)動(dòng)器的磁盤空間信息每10秒更新一次。可以使用新屬性“DefaultUpdateInterval”更改此時(shí)間跨度。通過(guò)將該值設(shè)置為“0”,可以關(guān)閉該功能。
TJamShellList,TJamFileList:新屬性“IconSize”可用于配置viewstyle vsIcons中圖標(biāo)的大小。屬性“StudioBigIon”和“SuxExalalGigeon”仍然存在,但被從對(duì)象檢查器中刪除。此外,將這些屬性或?qū)傩?ldquo;Thumbnails”設(shè)置為false將不再有任何效果;相反,需要設(shè)置所需的圖標(biāo)大小。這是一個(gè)突破性的變化。
默認(rèn)值“IconSpacing”已更改為“-1”,這意味著空間是自動(dòng)設(shè)置的。
ShellBrowser中的新過(guò)程“SendDropFiles(HWnd,TStrings)”將給定文件的列表發(fā)送到窗口,模擬對(duì)窗口的手動(dòng)拖放操作。
TJamFilePreview:使用“OnLoadPreview”事件中的新“TJamFilePreviewLoadPreviewEventArgs.forceGuitThread”選項(xiàng),可以強(qiáng)制同步加載和卸載預(yù)覽,而不是在單獨(dú)的線程中處理。這可能會(huì)解決有關(guān)單個(gè)PreviewHandlers或用例的問(wèn)題,其中在異步加載時(shí)PreviewHandlers無(wú)法按預(yù)期工作。
漏洞修復(fù)
總體:修復(fù)了各個(gè)組件中每個(gè)監(jiān)視器的高DPI問(wèn)題。
Thumbnails、TJamFileList、TJamShellList:為了避免在檢索文件夾縮略圖時(shí)可能出現(xiàn)的延遲,引入了一個(gè)新屬性“FastFolderThumbnails”。如果設(shè)置為true(默認(rèn)),則僅顯示預(yù)覽文件夾內(nèi)容的文件夾縮略圖(如果它們已被緩存)。
Thumbnails:使用Adobe Acrobat作為縮略圖處理程序,以非標(biāo)準(zhǔn)尺寸檢索的PDF文件的縮略圖顯示為黑色。這個(gè)問(wèn)題已經(jīng)解決了。
TJamFolderCombo:“Sorted”屬性現(xiàn)在按預(yù)期工作:如果設(shè)置為false,則項(xiàng)目將按添加順序顯示。此屬性的默認(rèn)值已更改為“true”。
TJamShellTree:快速訪問(wèn)節(jié)點(diǎn)現(xiàn)在不包含ZIP存檔,除非為ShellTree激活了“ShowFiles”。此外,ZIP存檔文件是使用文件屬性識(shí)別的,而不是檢查擴(kuò)展名。
TJamShellTree:修復(fù)了一個(gè)問(wèn)題,即如果為ShellTree設(shè)置了“ShowRorMessages”屬性,則無(wú)法在Windows 7“Favorites”根節(jié)點(diǎn)中選擇節(jié)點(diǎn)。
TJamShellTree:繪制選定節(jié)點(diǎn)時(shí),即使ShellTree沒(méi)有焦點(diǎn),也會(huì)保留VCL主題的默認(rèn)文本顏色。對(duì)于深色VCL主題,這樣可以避免深色背景上的深色文本。
TJamShellList:通過(guò)拖放或復(fù)制粘貼將大量元素插入文件夾時(shí)提高了性能。
TJamShellList,TJamShellSearchEdit:如果顯示搜索結(jié)果,并通過(guò)按backspace鍵或歷史記錄組件轉(zhuǎn)到父文件夾,則開(kāi)始搜索的文件夾現(xiàn)在將重新打開(kāi),而不是桌面。
TJamShellList:由于內(nèi)部問(wèn)題,并非所有可用的Shell列都可以實(shí)際添加到ShellList中。這個(gè)問(wèn)題已經(jīng)解決了。
TJamShellList,TShellBrowser:打開(kāi)bitlocker安全驅(qū)動(dòng)器現(xiàn)在顯示密碼對(duì)話框,即使是32位應(yīng)用程序。
TJamShellList:已修復(fù)自定義列和使用VCL主題時(shí)出現(xiàn)的閃爍問(wèn)題。
TJamShellList:改進(jìn)縮略圖性能。
TJamShellList:現(xiàn)在已處理在執(zhí)行“OnThumbnailUpdated”事件處理程序期間可能發(fā)生的“EInvalidOperation”錯(cuò)誤。
如果“MultiSelect”屬性設(shè)置為false,則TJamShellColumnSelectionDialog中的列現(xiàn)在將按字母順序排序,而不是顯示為未排序
TJamShellList,TJamFileList:自動(dòng)調(diào)整列寬的“AutoAdjustColumnWidths”方法,自動(dòng)調(diào)整列的大小以適應(yīng)其內(nèi)容,現(xiàn)在在ShellList的“OnPopulated”事件中調(diào)用時(shí)再次工作。另外,現(xiàn)在可以通過(guò)一個(gè)不能超過(guò)的最小最大范圍。
TJamFileOperation:TJamFileOperation現(xiàn)在不再是“TCommonDialog”,而是再次擴(kuò)展了“TComponent”,因此它也包含在Rad Studio的組件面板中,用于數(shù)據(jù)模塊。
TJamDriveList:“OnAddItem”和“OnAddPath”事件現(xiàn)在再次調(diào)用,此時(shí)DriveList刷新其內(nèi)容(例如按F5)。必須在其中一個(gè)事件中再次提供自定義列的值。
TJamDriveList:關(guān)于“AutoSizeColumn”大小的視覺(jué)問(wèn)題已修復(fù)。
TJamDriveList:針對(duì)無(wú)法到達(dá)的位置處理可能的延遲。
TJamPathLabel:在加載不可訪問(wèn)路徑時(shí)防止了可能的延遲。
總體:修復(fù)了EurekaLog為Tjamshell命令報(bào)告的可能的“EUseAfterFreeError”。
TJamShellCombo:修復(fù)了在特定條件下可能發(fā)生的內(nèi)存泄漏(控件的句柄被重新創(chuàng)建并在不可見(jiàn)時(shí)最終被銷毀)。
中斷更改和不推薦的警告:
類型“TJamSortDirection”已從單元JamSystemShellView移動(dòng)到Jam.Shell.Types。
TJamItemIdList:“TItemIdListDisplayNameFormat.dnf_relativeForRadDressBar”被重命名為“TItemIdListDisplayNameFormat.dnfRelativeForAddressBar”。
TJamShellList,TJamShellTree:如果沒(méi)有物理路徑可用(例如,對(duì)于虛擬文件夾),則某些與路徑相關(guān)的屬性現(xiàn)在返回元素的顯示路徑,而不是返回空字符串。這些是TJamShellTreeNode.FullPath、TJamShellListItem.FullPath、TJamShellList.Path、TJamShellTree.SelectedFolder。如果依賴于舊功能,請(qǐng)使用相應(yīng)ItemIdList的“Path”屬性。
此外,“TJamShellList.GetFullPath”現(xiàn)在已被棄用。請(qǐng)改用TJamShellItem.Path或TJamShellListItem.AbsoluteItemIdList.Path。
Threadpool:TDelayedProcedure.Create現(xiàn)在不推薦使用。改用類過(guò)程“TDelayedProcedure.CreateAndQueue”。
TJamFolderCombo:TJamFolderCombo.AddFolder()現(xiàn)在異步添加給定的路徑,以防止在無(wú)法訪問(wèn)路徑時(shí)應(yīng)用程序被凍結(jié)。因此,它不再返回新項(xiàng)的索引,這是一個(gè)突破性的變化。如果使用返回值選擇添加的項(xiàng),請(qǐng)改用SelectFolder()方法。
京ICP備09015132號(hào)-996 | 違法和不良信息舉報(bào)電話:4006561155
© Copyright 2000-2026 北京哲想軟件有限公司版權(quán)所有 | 地址:北京市海淀區(qū)西三環(huán)北路50號(hào)豪柏大廈C2座11層1105室
北京哲想軟件集團(tuán)旗下網(wǎng)站:哲想軟件 | 哲想動(dòng)畫