FAQs & Knowledge Base

Welcome to our Knowledge Base. Search or browse through the topics below to find answers to your questions.

Categories: ShellBrowser Delphi Components | Show all categories

If Delphi says that DCU files are missing, please check if the appropriate .PAS or .DCU are on your disk. If so, please check in the Delphi Options if these paths are included in the Library Paths.

If you verified that both is conditions are true, then there is most likely a problem with your Delphi installation.

To rename a file, you can use code like this:


JamFileOperation.SourceFiles.Clear();
JamFileOperation.SourceFiles.Add('C:\Temp\Shell.zip');
JamFileOperation.Destination := 'C:\Temp\Windows.zip ';
JamFileOpration.Execute();

This code will rename C:\Temp\Shell.zip to C:\Temp\Windows.zip.

To rename multiple files, you have to execute this code in a loop.

What we have is the JamDriveList control. a listview with all valid drives in it.

What you could also do is to set TShellBrowser.SpecialFolder property to SF_DRIVES and then use the TShellBrowser.Next() to enumerate "My Computer":

ShellBrowser.SpecialFolder := SF_DRIVES;
While ShellBrowser.Next do
begin
   if Pos( ': ', ShellBrowser.ObjectName) > 0 then
      ListOfDrives.Items.Add (ShellBrowser.ObjectName);
end;

The SHChangeNotifyRegister API of Windows doesn't seem to work in a Windows System Service. Although Microsoft's documentation doesn't state this, we found several postings in the internet that suggest that this API doesn't work for service applications.

Setting the property CopyMode to cmCopy should do this job.