powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / external function SHbrowseForFolders
5 сообщений из 5, страница 1 из 1
external function SHbrowseForFolders
    #32911674
Фотография savosin_sergey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
требуется вызвать функцию
Код: plaintext
1.
2.
LPITEMIDLIST SHBrowseForFolder(
	LPBROWSEINFO lpbi
);
где
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
typedef struct _browseinfo { 
    HWND hwndOwner; 
    LPCITEMIDLIST pidlRoot; 
    LPTSTR pszDisplayName; 
    LPCTSTR lpszTitle; 
    UINT ulFlags; 
    BFFCALLBACK lpfn; 
    LPARAM lParam; 
    int iImage; 
} BROWSEINFO, *PBROWSEINFO, *LPBROWSEINFO; 

typedef struct _ITEMIDLIST {
    SHITEMID mkid;
} ITEMIDLIST, * LPITEMIDLIST; 
typedef const ITEMIDLIST * LPCITEMIDLIST; 

typedef struct _SHITEMID { 
    USHORT cb; 
    BYTE   abID[ 1 ]; 
} SHITEMID, * LPSHITEMID; 

с передачей аргументов проблем (пока?) нет: создаю структуру
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
global type st_browseinfo from structure
	long		hwndowner
	long		pidlroot
	string		pszdisplayname
	string		lpsztitle
	long		ulflags
	long		lpfn
	long		lparam
	long		iimage
end type

и объявляю
Код: plaintext
FUNCTION ulong SHBrowseForFolderA (REF st_browseinfo bi) LIBRARY "Shell32.dll"

а вот что делать с получаемым результатом? вроде недавно обсуждалась проблема получения/возврата из функции указателя на структуру.

&npsp;может получить адрес (ulong) возвращаемой структуры, а потом его преобразовать к нужному виду/типу? возможно такое в pb? в си/си++ -- возможно
...
Рейтинг: 0 / 0
external function SHbrowseForFolders
    #32911698
gerss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А зачем тебе возвращаемое значение?
Для проверки, что юзер не нажал Cancel достаточно проверить его на NULL.
Путь вернется в pszdisplayname поле структуры.

Сергей
...
Рейтинг: 0 / 0
external function SHbrowseForFolders
    #32911763
Фотография savosin_sergey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 сергей: точно! спасибо. не дочитал описалово.. но оказывается эта функция возвращает лишь имя директории, без пути..
видимо, надо вызвать SHGetPathFromIDList для значения, которое вернёт SHBrowseForFolder..
...
Рейтинг: 0 / 0
external function SHbrowseForFolders
    #32911773
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ранее обсуждалось
/topic/58978&hl=
...
Рейтинг: 0 / 0
external function SHbrowseForFolders
    #32912027
Фотография savosin_sergey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ага, спасибо, работает
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / external function SHbrowseForFolders
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]