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

ShellBrowser relies on the Windows notification system to monitor changes. Sometimes individual notifications are summarized into bigger chunks. It depends on the size of the folder, the number of affected elements and also the type of folder whether this happens or not. Unfortunately this behavior cannot be influenced.

Per default, the shell components handle zip files as folders, that can be enumerated too. There might be use-cases where this is not wanted.
If you want to treat the them as normal files instead, set the "FileSystemOnly" property of the respective component to True.

To block opening in general, simply implement an empty event handler for the OnDefaultAction event of the TJamExplorerBrowser control that contains only the code "exit;".

You may also do this conditionally:

  if JamExplorerBrowser1.SelectedFiles[0].EndsWith('.log', True) then
    exit
  else
    JamExplorerBrowser1.InvokeCommand('')

None of our applications depend on Java Spring or any other Java library and are thus not affected by this vulnerability.

All of our products are being developed in Delphi or C#. Although we use Spring4D(elphi) with some of the components, they are safe to use, because the reported vulnerability applies to Java Spring framework only.

This applies to all versions and editions of our applications (TreeSize, SpaceObServer, SpaceObServer WebAccess, HeavyLoad, SmartPOP2Exchange, Exchange Server Toolbox, SpamAssassin in a Box, SpamAssassin for Windows, SmartCallMonitor, SEPA-Transfer, ServerSentinel, and ShellBrowser). It is recommended to always use the latest available versions though to benefit from the latest patches, improvements, and features.

Please make a screenshot of the call stack (RAD Studio > View > Debug Window > Call Stack) when the exception is reported in the IDE, and email this screenshot to us.

If the call stack window is empty, please ensure that these options are set at
"Project > Options > Delphi Compiler > Compiling":

· Code Generation > Stack Frames: True
· Debugging > Debug information: True
· Debugging > Use debug DCUs: True

A good way to receive exception and crash reports is using an error tracing tool like EurekaLog or MadExcept - they catch run-time errors and crashes and display a call stack and other information, which the customer can send back to you.

To turn off dialogs for handled exceptions in the IDE, uncheck
Tools > Options > Debugger Options > Embarcadero Debuggers > Language Exceptions > Notify on language Exceptions

In case the exception occurs in a dll, you can open the library in RAD Studio, and set the "host application" the in Run > Parameters dialog. This allows you to debug the library and receive exceptions.