Ver Mensaje Individual
  #11  
Antiguo 19-02-2008
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Reputación: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Lo que ocurre es que esa constante en concreto se encuentra definida en la unidad "ShlObj", que, seguramente no incluiste en la cláusula "uses" correspondiente. Encontré esta función por aquí, que, tal vez pueda echarte una mano. Funciona bien en Windows XP SP2, y, lo digo porque no sigue al cien por cien lo que refiere la ayuda de la función de que hablamos: tal vez Delphi se encarga de lo que no se encarga esta función. Tú verás.

Código Delphi [-]
uses
  ShlObj;

function ChooseFolderDlg(const subtitle: string;
  const newStyle: boolean) : string;
var
  BI: TBrowseInfo;
  IL: PItemIDList;
begin
  Result := '';
  with BI do begin
    lpfn:= nil;
    lParam:= 0;
    iImage:= 0;
    pidlRoot:= nil;
    hwndOwner:= GetActiveWindow;
    lpszTitle:= PChar(subtitle);
    GetMem(pszDisplayName, MAX_PATH);
    ulFlags := BIF_RETURNONLYFSDIRS;
    if newStyle then
      ulFlags := BIF_NEWDIALOGSTYLE;
  end;
  IL := SHBrowseForFolder(BI);
  if SHGetPathFromIDList(IL, BI.pszDisplayName)
    then Result := StrPas(BI.pszDisplayName);
  FreeMem(BI.pszDisplayName);
  GlobalFreePtr(IL);
end;
__________________
David Esperalta
www.decsoftutils.com

Última edición por dec fecha: 19-02-2008 a las 18:04:10.
Responder Con Cita