O que há de errado com este código????

Delphi

31/10/2004

procedure TfrmMenu.CapturarPatch(FCaption, FolderName: string);
var
BrowseInfo: TBrowseInfo;
ItemIDList: PItemIDList;
ItemSelected : PItemIDList;
NameBuffer: array[0..MAX_PATH] of Char;
WindowList: Pointer;
IniFile: TRegIniFile;
Result: boolean;
begin
// Função lógica que recebe dois parâmetros um para o rótulo da caixa de seleção de
// diretório presente na unit ShlObj declarada acima e o outro por referência retorna
// uma String com o diretório novo e a escreve na chave correspondente no Registro,
// mas apenas se selecionar OK na caixa de seleção de diretório.
itemIDList := nil;
FillChar(BrowseInfo, SizeOf(BrowseInfo), 0);
BrowseInfo.hwndOwner := Handle;
BrowseInfo.pidlRoot := ItemIDList;
BrowseInfo.pszDisplayName := NameBuffer;
BrowseInfo.lpszTitle := PChar(FCaption);
BrowseInfo.ulFlags := BIF_RETURNONLYFSDIRS;
WindowList := DisableTaskWindows(0);
try
ItemSelected := SHBrowseForFolder(BrowseInfo);
Result := ItemSelected nil;
finally
EnableTaskWindows(WindowList);
end;

if Result then
begin
SHGetPathFromIDList(ItemSelected,NameBuffer);
FolderName := NameBuffer;
end;
end;


Estou utilizando assim:

CapturarPatch(´..::Selecione o Diretório do Banco::..´,caminhoBase);

[color=red:7df7ceb3bc]por quê o caminhoBase retorna vazio mesmo que eu clique no ok???[/color:7df7ceb3bc]


Emir Neto

Emir Neto

Curtidas 0

Respostas

Gilvan

Gilvan

31/10/2004

Esperimente alterar
de:

procedure TfrmMenu.CapturarPatch(FCaption, FolderName: string)

para

procedure TfrmMenu.CapturarPatch(FCaption:String; var FolderName: string)


GOSTEI 0
Emir Neto

Emir Neto

31/10/2004

Muito obrigado Gilvan, funcionou perfeitamente.
Paz Profunda.


GOSTEI 0
POSTAR