![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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, видимо, тут проблема. Покопайся там... Я тоже пороюсь за компанию :)