Strange,
if InitialDir <> '' then
begin
if Succeeded(SHCreateItemFromParsingName(PWideChar(UTF8ToUTF16(InitialDir)), nil, IShellItem, DefaultFolderItem)) then
ADialog.SetDefaultFolder(DefaultFolderItem);
end;
I verified that Succeeded(SHCreateItemFromParsingName()) actually returns True for existing dirs (and false for non-existing) and that GetFileName(DefaultFolderItem) in fact returns the right name, but nevertheless InitialDir isn't set at all.
ADialog.SetDefaultFolder resturns 0 (which Succeded() says is True, indicating that all went OK).
Bart