View previous topic :: View next topic |
Author |
Message |
HexTA
Joined: 31 Aug 2006 Posts: 2 Location: Могилёв
|
(Separately) Posted: Thu Aug 31, 2006 22:22 Post subject: WDX и всплывающие подсказки |
|
|
При написании своего WDX плагина возникла проблема:
Плагин возвращает текст состоящий из нескольких строк, но Тотал всегда отображает этот текст в виде одной строки. При поиске или групповом переименовании это конечно удобно и логично, но вот в всплывающих подсказках смотрится не очень красиво.
Есть ли способ отображать многострочный текст в подсказках нормально? (TotalCmd v6.55) |
|
Back to top |
|
|
funduk
Joined: 16 Aug 2005 Posts: 1513 Location: Санкт-Петербург
|
(Separately) Posted: Thu Aug 31, 2006 22:49 Post subject: |
|
|
Пока нет. Возвращай несколько строк - юзер сам настроит подсказку. |
|
Back to top |
|
|
HexTA
Joined: 31 Aug 2006 Posts: 2 Location: Могилёв
|
(Separately) Posted: Fri Sep 01, 2006 09:43 Post subject: |
|
|
"Пока нет" - это значит, возможно будет в следующих версиях?
Жаль, хотелось красиво и сразу, ну и за это спасибо. |
|
Back to top |
|
|
funduk
Joined: 16 Aug 2005 Posts: 1513 Location: Санкт-Петербург
|
(Separately) Posted: Fri Sep 01, 2006 15:12 Post subject: |
|
|
HexTA wrote: | "Пока нет" - это значит, возможно будет в следующих версиях? | Это просят периодически, но Гислер не отвечает. Может, будет, может, нет. |
|
Back to top |
|
|
Oticon
Joined: 21 Sep 2006 Posts: 13 Location: Харьков
|
(Separately) Posted: Thu Sep 21, 2006 21:44 Post subject: |
|
|
Столкнулся с похожей проблемой.
Кроме того в подсказке максимальная длина одного значения, возвращаемого плагином, ограничена 255 символами. Я не ошибаюсь?
А какой стандартный максимальный размер буфера для FieldValue ?
Где-нибудь это описано?
Я вышел на странное значение - 2308 байта. Больше начинаются глюки. Но для нормальной реализации поиска мне надо около 5000.
И за что отвечает maxlen? Это оно или нет? |
|
Back to top |
|
|
CaptainFlint
Joined: 14 Dec 2004 Posts: 6159 Location: Москва
|
(Separately) Posted: Thu Sep 21, 2006 22:50 Post subject: |
|
|
Oticon wrote: | И за что отвечает maxlen? Это оно или нет? |
maxlen - это размер буфера, который выделен Тоталом под возвращаемые данные. Попытаешься забросить в буфер большее количество данных - будет переполнение, со всеми вытекающими. _________________ Почему же, ё-моё, ты нигде не пишешь "ё"? |
|
Back to top |
|
|
Oticon
Joined: 21 Sep 2006 Posts: 13 Location: Харьков
|
(Separately) Posted: Fri Sep 22, 2006 20:22 Post subject: |
|
|
Спасибо.
А будьте добры, объясните индейцу, как задается этот maxlen?
Только для всей ветви (в функции ContentGetSupportedField) или можно для каждого подпункта его задавать (в функции ContentGetValue)? Как правильно?
У меня не получается его передать. Как правильно это сделать?
Pinteger(maxlen)^ := X
Или я просто не там его передаю?
И еще один вопрос, как правильно передать в FieldValue число типа Real? Очень нужно для правильной сортировки, иначе я мог бы просто вывести его как String.
Как передавать строку или целое понятно (Pinteger и StrCopy). С Real по аналогии не получается.
Естественно, все сказанное относится к Delphi.
Прошу меня простить, возможно это глупые вопросы, но это мой первый плагин для тотала. И кроме того, где еще могут лучше всего ответить на этот вопрос как не тут.
Заранее спасибо. |
|
Back to top |
|
|
CaptainFlint
Joined: 14 Dec 2004 Posts: 6159 Location: Москва
|
(Separately) Posted: Fri Sep 22, 2006 20:35 Post subject: |
|
|
Oticon wrote: | А будьте добры, объясните индейцу, как задается этот maxlen? |
Его передаёт Тотал плагину, а не наоборот!
То есть, перед вызовом плагина Тотал выделяет у себя в памяти буфер, чтобы плагин мог в этот буфер что-то записать. И вызывает плагин, передавая ему адрес буфера и размер выделенного блока в качестве параметров, просто для того, чтобы плагин знал, сколько ему места отведено. Менять ни адрес, ни переданный maxlen нельзя! Это входные параметры (для плагина), а не выходные.
Oticon wrote: | И еще один вопрос, как правильно передать в FieldValue число типа Real? |
Для вещественных значений интерфейс предусматривает тип ft_numeric_floating. Его надо вернуть для соответствующего поля в ContentGetSupportedField, а в ContentGetValue просто приводить указатель на FieldValue к указателю на нужный вещественный тип. К сожалению, я плохо помню паскалевские типы. В SDK плагина сказано, что для вещественных значений требуется использовать 64-битный тип, определённый ISO-стандартом. Не думаю, что Дельфи отклонился от стандарта в этой области, но какой из всех его вещественных типов является 64-битным, я не смогу так сходу сказать. Надо смотреть справочники. _________________ Почему же, ё-моё, ты нигде не пишешь "ё"? |
|
Back to top |
|
|
Oticon
Joined: 21 Sep 2006 Posts: 13 Location: Харьков
|
(Separately) Posted: Fri Sep 22, 2006 20:48 Post subject: |
|
|
С maxlen понятно, спасибо. Жаль что нельзя его увеличить - это сильно ограничивает.
А по поводу вещественных чисел, я наверно действительно по глупой привычке использовал 32 битный тип. Надо проверить, в ПН на работе посмотрю.
Сейчас еще поищу у вас исходники WDX-плагинов, себе для примеров, наверняка найду что-то для повышения опыта.
Где еще можно их найти? |
|
Back to top |
|
|
funduk
Joined: 16 Aug 2005 Posts: 1513 Location: Санкт-Петербург
|
(Separately) Posted: Fri Sep 22, 2006 20:53 Post subject: |
|
|
На wincmd.ru полно исходников. Смотри, например:
AudioInfo
Chmdir (он спаренный - wCdx)
Exif
FileDescriptions
JpgComment (не помню, релизнули ли его уже на wincmd.ru или нет)
MP3Info
SuperWDX
xPDFSearch |
|
Back to top |
|
|
Oticon
Joined: 21 Sep 2006 Posts: 13 Location: Харьков
|
(Separately) Posted: Fri Sep 22, 2006 21:10 Post subject: |
|
|
Спасибо большое!!!
Из них я всего парочку смотрел, буду искать остальные.
А стоит ли выкладывать мой плагин на wincmd.ru.
Это уже не первая версия, просто решил кое-чего добавить и исправить ошибки.
Дело в том, что плагин используется для показа информации о файлах in4.
Это - "файлу обміну даними результатів землевпорядних робіт в електронному вигляді" (цитата).Используются, наверно, только в Украине, но могут быть востребованы и в России или других странах СНГ (возможно, в несколько изменненом виде).
По-этому переводить его на английский язык не имеет смысла.
Помнится, это одно из требований.
По сути - текстовый файл, чем-то сродни XML, с довольно сложной структурой и МНОЖЕСТВОМ ньюансов. |
|
Back to top |
|
|
funduk
Joined: 16 Aug 2005 Posts: 1513 Location: Санкт-Петербург
|
(Separately) Posted: Fri Sep 22, 2006 21:27 Post subject: |
|
|
СтОит выкладывать однозначно. Здесь много пользователей из Украины. А про требование - там только описание аддона надо придумать английское (а не локализовывать сам плагин). Напиши всё как есть и то, что это не для англоговорящих =) |
|
Back to top |
|
|
|