ShellBrowser Delphi Components
Hello and welcome to our Knowledge Base. Our experts provide answers to the most frequently asked questions of our customers. Start your information search here to find your answer quickly and easily.
Please enter your query or select one of the above categories.
All entries (Page 3 / 5)
Yes, you can control this behaviour using the ShowContextMenuOnTop property of the visual shell controls.
Place a TShellBrowser component on the form, and use code like the one in the example for ShellBrowser.InvokeContextMenuCommand.
ShellBrowser Components V5 and V6 were using TMS Unicode to get Unicode support in the controls derived from Delphi's TTreeView and TListView controls.
Since Delphi 2009 and later support Unicode natively, the dependency on TMS Unicode was removed in V7. So the ShellBrowser controls V7 and later do not interfere with TMS Unicode.
Unfortunately it is not possible to mix OLE Drag&Drop and Delphi Drag&Drop, because they work completely different.
The ShellBrowser components can interact with all other OLE enabled applications like Explorer, Word etc. All ShellBrowser Components can interact which each other with the OLE Drag&Drop.
The JamShellChangeNotifier is a wrapper around a Windows API that notifies about changes in the file system that could be interesting for Explorer-like applications.
Microsoft has documented that changes in a folder may be merged to a single neFolderUpdate (numeric id = 15) event. This event supplies only the path to the folder, in that the changes occurred. We noticed that these events are generated much more relaible on Windows Vista and later than on Windows XP.
You may use TShellBrowser.GetColumnText.
No. The ShellBrowser components are royalty free. That means after you purchased them, you may distribute compiled projects without additional costs or fees.
The ShellBrowser package is missing in the runtime packages list of Delphi. You then need to add it manually under Project / Project Options / Packages / Runtime packages. If you are not using runtime packages, the the path with the .OBJ file is simply missing in the Library Path of your Project Options.
You just need to add JamSelectionList to your uses clause, because Delphi won't do this programmatically for data types.
Due to some changes to the Shell API header files, you have to add the conditional define NO_WIN32_LEAN_AND_MEAN to the Conditional Defines section of project options of all your projects. Otherwise the header files containing the Windows Shell related stuff won't be included completely and your project won't compile. IMPORTANT: Please also make sure to add the path to the header files of ShellBrowser to the Include Path of each of your projects!