Encontré la solución, era una falla del componente.
Solo agregué un try except end en un parrafo del evento ShellEvent, lo probé y ya no se cayó el sistema.
if ((neFolderDelete in Events) or (neDriveRemove in Events)
or ((neFileDelete in Events) and (toShowFiles in Options))) then begin
{ A folder was deleted. See if it is one we have in the list. }
Node := FindNodeByPidl(SI1.Pidl);
if Node = nil then
Node := FindNodeByPath(SI1.Path);
if Selected = Node then
try
Selected := Node.GetNext;
except
end;
Espero le sirva de ayuda por si a alguien le ocurre lo mismo.
|