Windows 7 で Delphi 2010 を使用していますが、ディレクトリを再帰的に検索する際に単一引用符が二重になるという問題があります。
これは、ディレクトリを検索する私のコードです。
if FindFirst(aPath + '*', faDirectory, sr) = 0 then
try
repeat
if (sr.Name <> '.') and (sr.Name <> '..') then
if (sr.Attr and faDirectory) = faDirectory then
SearchFolderEx(aPath + sr.Name + '\', aSearchMasks);
until FindNext(sr) <> 0;
finally
FindClose(sr);
end;
次のようなパスを使用します(「C:\ New folder \」から始まります)
C:\New folder\New Folder's\New Text Document.txt
FindFirst/FindNext は一重引用符を 2 倍にします
'New Folder''s'
TSearchRec の FindData.cFileName は次のようになります。
('N', 'e', 'w', ' ', 'F', 'o', 'l', 'd', 'e', 'r', '''', 's', #0, #0, ...)
どこに問題があり、どうすれば修正できますか?