Borland SelectDirectory del navegador es bastante feo, aquí está la manera de invocar el Windows una vez.

usos
ShlObj, ShellAPI;

......

BrowseForFolder función (el asa: HWND; strTitle: string; var strPath: string): boolean;
var info: TBROWSEINFO;
camino: array [0 .. MAX_PATH] de Char;
temas: PITEMIDLIST;
empezar
Resultado: = false;
camino :='';

hacer con la información
empezar
hwndOwner: = manejar;
pidlRoot: = nil;
pszDisplayName: = nil;
lpszTitle: = PChar (strTitle);
ulFlags: = BIF_RETURNONLYFSDIRS;
lpfn: = nil;
final;

temas: = SHBrowseForFolder (info);

si se ha asignado (temas) y luego
empezar
SHGetPathFromIDList (temas, ruta);
Resultado: = true;
final;

strPath: = Ruta;
final;

Average rating: