SetDirectoryInfo::UserData

Разработка Far.
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: SetDirectoryInfo::UserData

Post by NightRoman »

Latest post of the previous page:

Пока можно забить на диалог поиска. Пусть там пока передается 0. Если остальное будет работать, то это уже хороший шаг вперед.
User avatar
Skirda
Posts: 3475
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 8 times

Re: SetDirectoryInfo::UserData

Post by Skirda »

NightRoman wrote:В принципе это безобидное изменение, плагины-то пока не пользуют эту фичу. Только не делать ее гласной, пока не отшлифуется (на Фарнете пока). Я протестирую, как следует.
Я "опасный" код в #if`ы оберну.
We are the Borg. You will be assimilated.
So Say We All!
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: SetDirectoryInfo::UserData

Post by NightRoman »

То есть мне надо будет компилить? ОК, тебе видней. Мне неохота с компиляцией Фара возиться, но могу. Тогда скажи чего и где надо установить перед компиляцией.

А чего там опасного может быть, раз плагины еще не пользовали это поле? Кто пользовал (0 причем?) - сам виноват, имхо.
User avatar
Skirda
Posts: 3475
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 8 times

Re: SetDirectoryInfo::UserData

Post by Skirda »

ты чем компилишь?
We are the Borg. You will be assimilated.
So Say We All!
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: SetDirectoryInfo::UserData

Post by NightRoman »

Студией. Там только одно место вроде? Мне проще тогда будет в коде "раскомментировать". А что там опасного-то? Не могу пока понять. Ну ладно, разберусь. Начал уже Фарнет готовить. Это и без нового кода займет заметное время. Я тут буду отмечаться об успехах и проблемах.
User avatar
Skirda
Posts: 3475
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 8 times

Re: SetDirectoryInfo::UserData

Post by Skirda »

добавь макроопределение MANTIS_0002207=1 для компиляции.
как в студии - ХЗ. в комстроке это /DMANTIS_0002207
We are the Borg. You will be assimilated.
So Say We All!
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: SetDirectoryInfo::UserData

Post by NightRoman »

Начал внедрять новый механизм. Пока без кода, который отключен условной компиляцией. Что-то в целом работает, а что-то глючит.

Вопрос - какая именно функциональность там отключена условной компиляцией? Ее обязательно надо задествовать или что-то должно работать и без нее? (Ибо "что-то" явно работает, пока бы это "что-то" и потестил, и проблемы описал).
User avatar
Skirda
Posts: 3475
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 8 times

Re: SetDirectoryInfo::UserData

Post by Skirda »

Условная компиляция. По умолчанию макрос MANTIS_0002207 не определен. Определить его и перекомпилить...
We are the Borg. You will be assimilated.
So Say We All!
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: SetDirectoryInfo::UserData

Post by NightRoman »

Skirda wrote:Условная компиляция. По умолчанию макрос MANTIS_0002207 не определен. Определить его и перекомпилить...
Да я не это спросил. Словами скажи, пожалуйста, что именно отключено. Всё (это вроде не так) или какая-то определенная часть? Какая?
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: SetDirectoryInfo::UserData

Post by NightRoman »

Я глянул на код GetUserDataFromPluginItem. Правильно я понимаю, что оно по имени файла ищет? Если да, то это не будет работать, кажется, если одинаковые имена есть. Все эти приседания с юзер дата и нужны, чтобы подобного рода ограничения Фара обходить, типа одинаковых имен или плохих имен (.., \).
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: SetDirectoryInfo::UserData

Post by NightRoman »

Skirda
Если мое опасение верно, то код под условной компиляцией работать правильно не будет. Вот я и спрашиваю - без этого кода что-то уже можно тестировать? SetDirectory передает юзер дата в каких-то случаях сейчас? По моим наблюдениям в дебаггере - вроде да. Если это уже можно тестировать, то есть и глюки. Уже пытаться баг репорт составлять (это не просто, надо сузить до точной проблемы) или рано, посмотришь еще в Фаре?
User avatar
Skirda
Posts: 3475
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 8 times

Re: SetDirectoryInfo::UserData

Post by Skirda »

NightRoman wrote:Правильно я понимаю, что оно по имени файла ищет?
типа того; а иначе - ХЗ как победить... текущий элемент панели?
а че делать когда сканирование идет в том же поиске? там как такового нет текущего элемента...
NightRoman wrote:Skirda
Если мое опасение верно, то код под условной компиляцией работать правильно не будет. Вот я и спрашиваю - без этого кода что-то уже можно тестировать? SetDirectory передает юзер дата в каких-то случаях сейчас? По моим наблюдениям в дебаггере - вроде да. Если это уже можно тестировать, то есть и глюки. Уже пытаться баг репорт составлять (это не просто, надо сузить до точной проблемы) или рано, посмотришь еще в Фаре?
Да я бы посмотрел, но то, на что я смотрел - это был тестовый плагин (из "уроков"). Если найдется что-нибудь не сильно тяжеловестное (тестовый плагин, естественно) - то...
We are the Borg. You will be assimilated.
So Say We All!
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: SetDirectoryInfo::UserData

Post by NightRoman »

Хм, нет такой подход с поиском по имени не годится. Как уже сказано, не будет работать с дублированными именами. А во-вторых, будет тормозить при поиске. Чем больше элементов, тем хуже. Известный "принцип Шлемиэля" :)


Но и не ожидалось, что сразу все брутальными методами в лоб организуется. Мне трудно посоветовать.
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: SetDirectoryInfo::UserData

Post by NightRoman »

а че делать когда сканирование идет в том же поиске? там как такового нет текущего элемента...
Хоть в обычной ситуации, хоть при поиске, плагин не имена Фару дает, а структуры файлов, где юзер дата заполнены. Фар не эти структуры сканирует, а что-то другое? Вот это и надо копать, почему теряются юзер дата в какой-то момент.
User avatar
Skirda
Posts: 3475
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 8 times

Re: SetDirectoryInfo::UserData

Post by Skirda »

Проблема в том, что Far "юзает" SetDirectoryInfo в терминах "имени"...
Хмм... есть пара идей. Начнем вот с этого патча:
Attachments
!setdir.diff.7z
(796 Bytes) Downloaded 138 times
We are the Borg. You will be assimilated.
So Say We All!
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: SetDirectoryInfo::UserData

Post by NightRoman »

А в базу его нельзя? Или он слишком экспериментальный?
Post Reply

Return to “Development”