我们有一个Android应用,在DocumentsPath中我们有一个名为'默认'
的子文件夹但是,当我们从DocumentsPath中检索目录时,该文件夹不会显示。
有人知道怎么做吗?
代码如下:
procedure TdmoMain.SetupDirArray;
var
mDirs: TStringDynArray;
begin
RootDir := TPath.GetDocumentsPath;
{$if defined(MSWINDOWS)}
mDirs:=TDirectory.GetDirectories(RootDir, '[!_]*'); //on Windows no directories which start with '_'
{$ELSE}
mDirs:=TDirectory.GetDirectories(RootDir);
{$ENDIF}
if High(mDirs)>0 then //this should be always true BUT IT IS NOT (IOW at least one subdir - album installed)
begin
SetHomeDir; //do some processing here
end
else //unfortunately it goes here
begin
{ DEBUG CODE BEGIN }
SetLength(mDirs, 1);
mDirs[0]:=TPath.Combine(RootDir, 'default');
if TDirectory.Exists(mDirs[0]) then
ShowMessage('Puzzled!'); //this shows up!!!
{ DEBUG CODE END }
// ShowMessage('You do not have any subdirectories!');
end;
end;
我们正在使用Delphi XE6。
答案 0 :(得分:0)
固定。
问题出在if High(mDirs)>0
,一个目录返回 False 。
高(mDirs)是数组中最高元素的索引,对于具有一个元素的动态数组,该索引应为Length(mDirs)>0
谢谢大家。