при обращении ShellTreeView.Root:='/'
выдается исключение в строке 1002, которое сообщает, что / - не файл и далее выдается сообщение об шибке
- Код: Выделить всё
- if TShellTreeNode(ANode).IsDirectory then
 begin
 //Note: the folder may have been deleted in the mean time
 //an exception will be raised by the next line in that case
 FShellListView.Root := GetPathFromNode(ANode)
 end
 else
 begin
 if not FileExistsUtf8(CurrentNodePath) then
 Raise EShellCtrl.CreateFmt(sShellCtrlsSelectedItemDoesNotExists,[CurrentNodePath]);
Эта ошибка возникает из-за того, что корневой узел дерева не имеет признака IsDirectory
- Код: Выделить всё
- ...
 if TShellTreeNode(ANode).IsDirectory then
 ...
исправляется вот так:
- Код: Выделить всё
- if (TShellTreeNode(ANode).IsDirectory) or (ANode.Text='/') then
 begin
Хотя по хорошему надо лезть и искать функцию которая формирует дерево и разбираться, почему / не является директорией
Но даже такое исправление позволяет нормально отобразить список каталогов корневого раздела в ОС Linux


