gpt4 book ai didi

ios - 使用 iOS 的 XE2/Firemonkey 下的 FindFirst() 有问题吗?

转载 作者:行者123 更新时间:2023-11-28 23:11:18 26 4
gpt4 key购买 nike

对于 iPhone Firemonkey 应用程序,我将文件(图像)存储在“tmp”文件夹中并在我的应用程序中使用它们。我希望能够通过按需删除所有“.jpg”文件来刷新缓存,但我似乎无法在 FindFirst() 调用中以编程方式匹配它们。

我正在使用一个简单的 FindFirst()/FindNext()/FindClose() 循环来列出(和删除)文件夹的内容。

在 Windows 下,代码可以完美运行。 iOS (iPhone) 下的同一应用程序始终为 FindFirst() 调用返回值 -1(错误),并且 SearchRec.Name 为空。我曾尝试使用各种文件模式,包括“”但没有成功。

我知道这些文件存在是因为我可以毫无错误地读取和写入它们(在 iOS 和 Windows 下),并且它们的内容是正确的。 FileExists() 检查也会返回 True。

此外,如果我指定一个没有通配符的文件模式来检查已知文件(这实际上不是 FindFirst() 调用的重点),调用永远不会返回(再次这在 Windows 下没问题)!

有没有人在 iOS 下对此有任何成功并可以提供任何想法?

谢谢,

编辑:按要求演示问题的代码片段。注意:_sFolderName 包含我确认绝对正确的缓存文件夹名称。

function GetCacheFileList : string;
var
iResult: integer;
sr: TSearchRec;
sPath,
sTemp: string;
sFilename : TFilename;
begin
sTemp := '';
sFilename := _sFolderName + '*.jpg';
//
iResult := FindFirst(sFilename, faAnyFile, sr); // ALWAYS RETURNS -1 under iOS
while (iResult = 0) do
begin
sTemp := sTemp + sr.Name + sLineBreak;
iResult := FindNext(sr)
end; { while }
//
FindClose(sr);
Result := sTemp
end;

最佳答案

我不知道 FindFirst 等在非 Windows 平台上的支持情况如何,但我确实记得 Delphi 团队的某个人曾经说过 IOUtils 单元中的例程专门设计用于使文件 I/O 适合跨平台编码。您是否尝试过在 TDirectory 上使用文件搜索方法?

关于ios - 使用 iOS 的 XE2/Firemonkey 下的 FindFirst() 有问题吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8207377/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com