Latest post of the previous page:
В структуре FarDialogItem нет такого ограничения, разве что сам плагин установил поле MaxLength в 512.
В плугине какая-то совершенно другая структура FarDialogItem; там нет полей MaxLength, UserData и Reserved. На месте поля Data - union, максимальный размер - в char Data[512]. При попытке изменить 512 на 32767 зависание происходит в процедуре extern PluginStartupInfo Info.DialogEx. Я не писал на C++ уже лет 20, на Visual Studio - никогда. Но мне кажется, что этот завис где-то ВНЕ плугина.
плагин под первую версию.Shmuel wrote:В структуре FarDialogItem нет такого ограничения, разве что сам плагин установил поле MaxLength в 512.
Это, а также по соседству в GoLast я поправил. Правда, во втором случае остался-таки косяк, когда последняя колонка отображается на экране не полностью. Я пока не понимаю, что там хотел сказать оригинальный автор в коде. Но хотя бы падать не должно.buniak_a_h wrote:Одна ошибочка у меня ушла (та, что с горизонтальной навигацией). Решение было простое:
Как выяснилось, это - ограничение для Far-1. Если перейти на интерфейс Far-3, то ограничение уйдёт. Но!
На самом деле кузяво было бы убрать варнинги. Как-то несолидно... Да и неизвестно, чем выльется и когда. Так и данные запортить можноVertigo wrote:Это, а также по соседству в GoLast я поправил. Правда, во втором случае остался-таки косяк, когда последняя колонка отображается на экране не полностью. Я пока не понимаю, что там хотел сказать оригинальный автор в коде. Но хотя бы падать не должно.
Вот и я про удобство. Я бы, наверное, даже принудительно ограничил меньшей длиной, чем сейчас вмещается, скажем, 256.На самом деле мне тоже вариант (а) нравится. Не только универсальностью, но и удобством: очень длинные поля реально удобнее править в обычном редакторе
На самом деле я бы ограничил 512, а редактирование в окне вызывал бы по F4 (просмотр, соответственно, по F3)
У нас есть документы (и в форме XML-документов, и в форме DBF-таблиц), в которых в символьных полях хранятся переносы строк (типа для форматирования юзером). Увы, убедить руководство таможни не смогли ни мы, ни технические специалисты таможни. Поэтому либо (а) редактировать всё поле в виде одной длинной-длинной строки (что ненамного не удобнее имеющегося), либо (б) перед выводом на экран (и при любом изменении) расставлять \n, запоминая позиции, куда вставлено.
Безусловно. Со временем. Просто не хочется бездумно расширять размерность локальных переменных. Может потом в обратную сторону "не влезть".
В том-то и проблема, что мои знания этого языка фактически ограничиваются правками уже существующего кода. На чуть более современном уровне, чем данный мамонт. Поэтому многого от меня ждать не приходится...
Лаконично...