Mam kodzik wywołujący okno 'W poszukiwaniu folderu';
var
BI:TBrowseInfo;
Buf:PChar;
Dirs,Root:PItemIDList;
Alloc:IMalloc;
_dir: string;
begin
SHGetMalloc(Alloc);
Buf:=Alloc.Alloc(Max_Path);
SHGetSpecialFolderLocation(Handle,CSIDL_DRIVERS,Root);
with BI do
begin
hwndOwner:= Handle;
pidlRoot:=Root;
pszDisplayName:=Buf;
lpszTitle:='Wybierz katalog';
ulFlags:=0;
lpfn:=nil;
end;
try
Dirs:=SHBrowseForFolder(BI);
if Dir<>Nil then
begin
SHGetPathFromIDList(Dirs ,Buf);
_dir := Buf;
Alloc.Free(Dir);
end;
finally
Alloc.Free(Root);
Alloc.Free(Buf);
end;
no i potem wykonuję jakies tam operacje na plikach z katalogu _dir, tylko że jesli użytkownik w oknie wyboru folderu kliknie 'Anuluj' to mimo to program i tak cche wykonywac operacje na pliach i wywala mi błąd. Zaznaczam ze cos takiego jak
if _dir = '' then
nie działa. Jak to zrobić żeby oprogramowac moment gdy kliknie się Anuluj.