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

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

OpenDirDialog.InitialPath при UNICODE_CTRLS... [Delphi, Windows]


Rocket ©   (2008-01-17 14:44:00) 

...не работает - всегда выделяется "Мой компьютер". Использую MCK, свойства после помещения TOpenDirDialog на форму оставляю по умолчанию. Версия KOL и MCK - 2.84.


=BuckLr=   (2008-01-18 17:17:00) [1]


> Теперь в диалоге единственный пункт без названия

Странно... У меня же работало...


> причина в колбэк функции OpenDirCallBack

Спасибо. Попробую так вечером. А то ещё вылезет когда-н то, о чем сказал Rocket :(


Дмитрий К   (2008-01-18 15:38:00) [2]

На самом деле причина в колбэк функции OpenDirCallBack.
Юникодному диалогу для смены стартовой директории нужно посылать сообщение BFFM_SETSELECTION W.


Rocket   (2008-01-18 14:51:00) [3]

Заменил на BI.pidlRoot  := PItemIDList( FInitialPath ). Теперь в диалоге единственный пункт без названия (или с названием из мусора в памяти) и с плюсом, не раскрывается.


=BuckLr=   (2008-01-17 21:31:00) [4]


> т.е. для не UNICODE как-то работает

Да, потому что для юникода используется паскаль, а для анси - асм. Там, где паскаль, присваивается nil, в асме всё нормально


Vladimir Kladov   (2008-01-17 21:13:00) [5]

А что там насчёт UNICODE_CTRLS? (т.е. для не UNICODE как-то работает?). Ладно, посмотрю в выходные.


=BuckLr=   (2008-01-17 20:53:00) [6]

Прошу прощения, разумеецо, надо так:
BI.pidlRoot  := PItemIDList( FInitialPath );
описалцо :)


=BuckLr=   (2008-01-17 20:40:00) [7]

За одним к Владимиру Кладову просьба - замените пожалуйста
(43259)BI.pidlRoot  := nil;
на
(43259)BI.pidlRoot  := PKOLChar(FInitialPath);


=BuckLr=   (2008-01-17 20:38:00) [8]

Ну всё ясно, ё... Чё ж оно будет работать, если
BI.pidlRoot  := nil;

исправь на

BI.pidlRoot  := PKOLChar(FInitialPath);


=BuckLr=   (2008-01-17 20:35:00) [9]

Ага, глюк. Я щас проверил - в юникоде работает паскаль-версия Execute, видимо, тут проблема. Покопайся там... Я тоже пороюсь за компанию :)


Наверх

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