|
0 / 0 / 0
Регистрация: 18.05.2020
Сообщений: 54
|
||||||
Ошибка преобразования пустого содержимого Edit в int. Не указывается место ошибки07.02.2021, 13:47. Показов 2001. Ответов 9
Метки нет (Все метки)
Среда разработки RAD Studio 10.4.
Допустим у меня на форме есть поле Edit1, содержимое которого в какой-то момент программа пытается преобразовать в int для вычислений.
Edit1 is not a valid integer value. Я программу запускаю на исполнение из самой среды разработки с включенными опциями "Link with Dynamic RTL" и "Link with runtime packages". В более ранних версиях C++ Builder'а при такой ошибке у меня подсвечивалась строка в коде, где осуществлялось преобразование, приводящее к ошибке. Сейчас же если код большой - сразу и не поймешь где эта ошибка возникает. Можно ли как-то настроить С++ Builder, чтобы он все таки показывал место ошибки в коде?
0
|
||||||
| 07.02.2021, 13:47 | |
|
Ответы с готовыми решениями:
9
Ошибка INSERT , в попытка вставить в поле тип INT пустого значения
Ошибка преобразования значения NumericUpDown в int |
|
Модератор
|
||
| 07.02.2021, 14:07 | ||
|
1. Не доверяйте пользователю что-то вводить руками без крайней на то необходимости. Только выбирать! Вот зачем Вам нужен компонент TEdit для ввода целого числа? Ведь с этим отлично справляется компонент TSpinEdit - он для этого и создан, чтобы пользователь не мог ввести ничего кроме чисел, причем, если числа должны быть ограничены каким-либо диапазоном (например, от 0 до 10), то этот компонент позволяет установить ограничение на ввод, что избавит от дополнительной проверки... 2. Но если используете обычный TEdit - будьте готовы к тому, что пользователь введет что-нибудь не то, слово матерное, к примеру, или вот, как у Вас, совсем ничего не введет... И тогда Вас спасет только использование других функций преобразования строки в число, а именно StrToIntDef() TryStrToInt()
0
|
||
|
0 / 0 / 0
Регистрация: 18.05.2020
Сообщений: 54
|
||
| 07.02.2021, 14:19 [ТС] | ||
|
0
|
||
|
Модератор
|
|||
| 07.02.2021, 14:45 | |||
ошибка времени выполнения, которая никак не ловится компилятором! При чем тут код? При чем тут настройки и режим отладки?
0
|
|||
|
0 / 0 / 0
Регистрация: 18.05.2020
Сообщений: 54
|
||
| 07.02.2021, 15:23 [ТС] | ||
|
0
|
||
|
0 / 0 / 0
Регистрация: 18.05.2020
Сообщений: 54
|
|
| 07.02.2021, 15:42 [ТС] | |
|
Частично понял в чем проблема. Я просто запускал программу не в режиме отладки. По привычке нажимал на кнопку запуска с иконкой в виде большого зеленого треугольника, а сейчас почитал всплывающую подсказку к нему:
Run Without Debugging (Shift+Ctrl+F9) А рядом расположена другая кнопка с другой иконкой и подсказкой: Run (F9) Вроде бы раньше кнопка с большим зеленым треугольником как раз соответствовала варианту запуска в режиме отладки. Вобщем сейчас запустил по F9 и получил вот такое сообщение об ошибке (картинка 1). Вот в таком виде вроде бы раньше и давались сообщения об ошибках (говорю везде "вроде", потому что вернулся к программированию после долгого перерыва, уже не помню многое). Но если раньше по нажатию кнопки "Break" как раз и подсвечивалась строчка кода, где произошла ошибка, то сейчас выбрасывает на вкладку CPU и тут совершенно ничего не понятно (картинка 2). Можно ли как-то отсюда понять в какой строчке кода произошла ошибка?
0
|
|
|
Модератор
|
||
| 07.02.2021, 16:23 | ||
|
Не по теме:
Вот хоть убейте, но мне все таки до сих пор не понятно, что Вам даст строчка кода, на которой произошла ошибка? Как Вы в своем коде исправите ошибку пользователя, который не ввел в Эдит данные?
0
|
||
|
0 / 0 / 0
Регистрация: 18.05.2020
Сообщений: 54
|
||
| 07.02.2021, 17:36 [ТС] | ||
|
Так а если по сути, возможности выявлять конкретные места кода, где возникают такие ошибки, сейчас нет? То есть программисту нужно писать идеальный код с самого начала?
0
|
||
|
Модератор
|
|||
| 08.02.2021, 05:55 | |||
|
А тот текст, который Вы привели - это не пустое поле, оно заполнено, только всякой шнягой, в данном конкретном случае - стандартным текстом, отображающем имя компонента.
0
|
|||
|
0 / 0 / 0
Регистрация: 18.05.2020
Сообщений: 54
|
||
| 08.02.2021, 11:51 [ТС] | ||
|
Кстати, отображение окна CPU у меня тоже не установлено, но оно почему-то отображается.
0
|
||
| 08.02.2021, 11:51 | |
|
Помогаю со студенческими работами здесь
10
Ошибка пустого поля Edit типа double ("" is not valid floating point value.) Ошибка преобразования значения varchar в тип данных int Ошибка преобразования значения varchar в тип данных int" Ошибка при преобразовании содержимого ячейки DataGrid в int Ошибка: cannot convert 'int (*)[50]' to 'int*' for argument '1' to 'void vvod2m(int*, int*, int*, char)'Х2 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер
Написал заготовку:
dotnet new console --aot -o UrlHandler
var items = args. Split(":");
var tag = items;
var id = items;
var executable = args;. . .
|
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
|
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений.
9TO2GP2bpX4
a42b81fb172ffc12ca589c7898261ccb/
https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/
Слева синяя линия -. . .
|
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. .
Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
|
|
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-text-sdl3-c. zip
finish-text-sdl3-cpp. zip
|
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
|
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo
Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло.
Но на выплатах по больничным это. . .
|
Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере нетипового документа выдачи шин для спецтехники с табличной частью, разработанного в конфигурации КА2.
Номеклатура. . .
|