04-08-2021, Saat: 22:58
merhaba, ShellTreeView kullanarak paylaşımdaki dizinleri alıyoruz ama gizli klasörler (secret$) şeklinde olan klasörler listelenmiyor.
parametre olarak ShellTreeView.ObjectTypes := [otFolders,otHidden] ekli olduğu halde getirmiyor. gizli dosyalar geliyor ama klasörler gelmiyor.
kod kısmı ise burası
parametre olarak ShellTreeView.ObjectTypes := [otFolders,otHidden] ekli olduğu halde getirmiyor. gizli dosyalar geliyor ama klasörler gelmiyor.
kod kısmı ise burası
Kod: (Select All)
begin
try
ShellTreeView := TShellTreeView.Create(nil);
ShellTreeView.ObjectTypes := [otFolders,otHidden];
ShellTreeView.ClearItems();
//sDirname := TIdURI.URLDecode(ARequestInfo.Params.Values['path']); // \\SERVER\ // & i?aretini replace ettik.
//sParentId := ARequestInfo.Params.Values['parent_id'];
try
ShellTreeView.Root := sDirname;
except
end;
for I := 0 to ShellTreeView.Items[0].Count - 1 do
begin
if ShellTreeView.Items[0].Count = 0 then
Continue;
ItemNode := ShellTreeView.Items[0].Items[I];
SH := TShellFolder(ItemNode.Data);
sFullPath := sDirname + SH.DisplayName;
sResult := sResult + '{"id":"' + sParentId + '-' + IntToStr(I) + '","path":"' + StringReplace(sFullPath, '\', '\\', [rfReplaceAll]) + '", "title":"' + SH.DisplayName + '", "type": "FOLDER", "parent_id":"' + sParentId + '", "folder": true, "lazy": true},';
//Delete(sResult, Length(sResult), 1);
end;
finally
ShellTreeView.Free;
end;
if (sResult <> '') and (sResult[Length(sResult)] = ',') then
Delete(sResult, Length(sResult), 1);
AResponseInfo.ContentText := callbackFunc + '([' + sResult + ']);';
end
