Началось всё с того, что решил нумеровать вновь добавленные строки:
code_35491.txt
Как видите, нумерация сразу начинается с двойки, а не с 1. Почему в Math прибавляется 2, а не 1? Потому, что единицу мы добавляем из-за того, что нужен индекс следующей строки, а вторую единицу добавляем потому, что индексация начинается с 0, а нужно отображать строки с единицы.
А проблема вся в коде:
code_35492.txt
Почему, если Control.Count=0, то устанавливаем dtNull Нужно, как и в остальных случаях, Control.Count - 1! Тогда у пустой таблицы индекс последней строки будет -1, что вполне логично (это и будет означать, что строк там нет). А то, что при приведении к integer и пустая таблица, и таблица с единственной строкой выдают индекс последней строки 0 - это точно неправильно!
Да, мне пришлось использовать св-во Count, но, думаю, компонент следует исправить. Вопрос только в том, можно ли это сделать без потери совместимости? Что скажут знатоки и те, кто имеет доступ к SVN?
------------ Дoбавленo в 22.52:
P.S. Ведь в StrList на onGetIndex возвращается именно -1, если искомая строка отсутствует, а не какие-то нулевые (пустые) данные!
Этот топик читают: Гость
Ответов: 1926
Рейтинг: 172
|
|||
карма: 9 |
| ||
файлы: 2 | code_35491.txt [415B] [494], code_35492.txt [144B] [308] |
Разработчик
Ответов: 26151
Рейтинг: 2127
|
|||
КМК, то надо поправить везде, где есть переменная EndIdx. Че-то я действительно стормозил на этом моменте.
------------ Дoбавленo в 00.54: Но если учитывать возможную совместимость, то просто в схеме надо поставить if_Else на отлов значения Null. Тогда ничего не надо переделывать |
|||
карма: 22 |
|
Ответов: 655
Рейтинг: 18
|
|||
надо поставить if_Else на отлов значения Null я конечно не кодер, но мне кажется это велосипед..Нужно править компонент и обновлять в SVN... п.с. надо бы ревизию компонентов произвести на наличие багов и "особенностей" |
|||
карма: 0 |
| ||
Голосовали: | 3042 |
Ответов: 1926
Рейтинг: 172
|
|||
Gunnman писал(а): Нужно править компонент и обновлять в SVN...А я согласен. Хоть даже с потерей совместимости. Хотя потеря будет небольшой, только при пустой таблице. |
|||
карма: 9 |
|
Разработчик
Ответов: 26151
Рейтинг: 2127
|
|||
Ну и че, че засохли-то все
Правим или нет У меня все готово, только закоммитить осталось. |
|||
карма: 22 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
nesco писал(а): Правим или нет |
|||
карма: 25 |
|
Ответов: 8926
Рейтинг: 823
|
|||
nesco писал(а): ..че засохли-то все..Если бы Каштанка умела говорить, она сказала бы: "Нет, так дальше жить нельзя, лучше застрелиться!" |
|||
карма: 19 |
|
Разработчик
Ответов: 26151
Рейтинг: 2127
|
|||
Все, закоммитил. Виноватым в перемоге назначаем 3042, так, на всякий случай, заранее
|
|||
карма: 22 |
|
Ответов: 1926
Рейтинг: 172
|
|||
Tack så mycket!
|
|||
карма: 9 |
|
Разработчик
Ответов: 26151
Рейтинг: 2127
|
|||
3042 писал(а): Tack så mycket!Ёшкин кот, а по-русски никак не получилось написать |
|||
карма: 22 |
|
Ответов: 1926
Рейтинг: 172
|
|||
nesco писал(а): а по-русскиnesco писал(а): перемоге------------ Дoбавленo в 05.55: [offtop]А вообще, одно время увлекался шведским, вот и решил вспомнить.[/offtop] |
|||
карма: 9 |
|
Разработчик
Ответов: 26151
Рейтинг: 2127
|
|||
[offtop]
3042, этимология слова перемога вполне себе русская Победа и перемога одно и тоже. Перемогать - перемочь кого, что, пересиливать, одолевать, оборать, побеждать, подчинить себе, овладеть. Теленок быка не переможет. Что не вмочь, того и не перемочь. Божья воля все перемогает. Боль перемогу, да встать не могу. Где черт (дьявол) не сможет, там баба переможет. -ся, страдат. или возвр. по смыслу речи. Иногда и сильный перемогается слабым. Переможется -забудется. В черный день перемогусь, а в красныйсопьюсь. Все болел, с месяц перемогался, насилу перемогся, терпел, старался одолеть боль, не поддавался. Без денег перемогусь, а без хлеба не перемогусь. Кой-как перемогаемся, перебиваемся, переколачиваемся, бьемся или изворачиваемся, из(об)могаемся. Роженица, до перемоги, остается в бане. Это беда переможная, можно вынести. Слово перемога и перемогать очень часто использоуется в русском языке и обладает сильным воздействием на психику человека. [/offtop] |
|||
карма: 22 |
|
12