Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

SHBrowseForFolder и SHGetPathFromIDList [D6, Win2k]


Nebuchadnezzar ©   (2002-08-27 18:04:00) 

Всем привет!!!
Помогите разобраться...
Задача в следующем: используя SHBrowseForFolder открыть диалог и выбрать компьютер в локальной сети, получить его имя. Проблема в том что функция SHGetPathFromIDList возвращает False если в SHBrowseForFolder использовался флаг BIF_BROWSEFORCOMPUTER.
вот кусок кода:
procedure TfrmMain.actBrowseForServerExecute(Sender: TObject);
var vReturnInfo : PItemIDList;
vBrowseInfo : TBrowseInfo;
vTempPath : array [0..MAX_PATH] of Char;
begin
FillChar(vBrowseInfo, SizeOf(TBrowseInfo), #0);
vBrowseInfo.hwndOwner := Application.Handle;
vBrowseInfo.lpszTitle := "Select Server Name...";
vBrowseInfo.ulFlags := BIF_BROWSEFORCOMPUTER;
vReturnInfo := SHBrowseForFolder(vBrowseInfo);
if vReturnInfo = nil then Exit;
try
if not SHGetPathFromIDList(vReturnInfo, vTempPath) then raise Exception.Create("SHGetPathFromIDList fails...");
finally
GlobalFreePtr(vReturnInfo);
end;
end;


Nebuchadnezzar   (2002-08-27 18:47:00) [1]

Все, проблема решена, SHGetPathFromIDList вообще не надо использовать...


Nebuchadnezzar   (2002-08-27 18:36:00) [2]

С этим примером ( http://delphi.mastak.ru/cgi-bin/faq.pl?look=1&id=988622138&n=15) все понятно, он работает нормально, но дело в том что там используется флаг BIF_RETURNONLYFSDIRS а мне не нужно выбирать папку, нужно выбрать только имя компьютера (флаг BIF_BROWSEFORCOMPUTER)


Ученик   (2002-08-27 18:11:00) [3]

http://delphi.mastak.ru/cgi-bin/faq.pl?look=1&id=988622138&n=15


Наверх

Титульная страница Поиск, карта сайта Написать письмо