Спасибо всем, кто откликнулся на мой вопрос.
Я начал проверять ваши советы и тут подумал вот о чем.
Я же не меняю данные, не меняю код программы. Почему же тогда у меня получаются разные результаты? В первый раз программа делает все правильно, только при втором запуске она начинает сбоить. Программа ведь не человек, у которого результат может зависеть от настроения.
Значит, существует какой-то третий фактор, который влияет на работу программу. Что? Ну, например, браузер.
Я до этого работал только в Сафари. Хорошо, я взял Хром - никаких проблем! Взял Edge - тоже никаких проблем! Все прекрасно работает, и множественное удаление, и одиночное, в любом порядке, хоть вверх, хоть вниз, вразброс - как угодно!
То есть я столкнулся с какой-то специфичной особенностью Сафари. Я попытался разобраться, в чем там дело, но не преуспел. Единственное, что я понял - Сафари при исправлении строки запроса, похоже, выполняет его ДВА раза.
Выяснил я это так: заставил программу печатать содержимое всей таблицы в самом начале работы. И вижу поразительный факт: той строки, которую я только еще хочу удалить, на момент запуска программы УЖЕ нет в таблице. Поскольку чудес не бывает, остается только предположить, что Сафари выполняет программу два раза. В первый раз он удаляет строку, а потом еще раз пытается ее удалить - и из-за этого у меня и вылазит на экран куча сообщений об ошибках.
Хром и Edge работают как-то по-другому. В них никаких проблем не возникает.
Вот такие дела.
Спасибо еще раз всем за помощь.
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.
Я начал проверять ваши советы и тут подумал вот о чем.
Я же не меняю данные, не меняю код программы. Почему же тогда у меня получаются разные результаты? В первый раз программа делает все правильно, только при втором запуске она начинает сбоить. Программа ведь не человек, у которого результат может зависеть от настроения.
Значит, существует какой-то третий фактор, который влияет на работу программу. Что? Ну, например, браузер.
Я до этого работал только в Сафари. Хорошо, я взял Хром - никаких проблем! Взял Edge - тоже никаких проблем! Все прекрасно работает, и множественное удаление, и одиночное, в любом порядке, хоть вверх, хоть вниз, вразброс - как угодно!
То есть я столкнулся с какой-то специфичной особенностью Сафари. Я попытался разобраться, в чем там дело, но не преуспел. Единственное, что я понял - Сафари при исправлении строки запроса, похоже, выполняет его ДВА раза.
Выяснил я это так: заставил программу печатать содержимое всей таблицы в самом начале работы. И вижу поразительный факт: той строки, которую я только еще хочу удалить, на момент запуска программы УЖЕ нет в таблице. Поскольку чудес не бывает, остается только предположить, что Сафари выполняет программу два раза. В первый раз он удаляет строку, а потом еще раз пытается ее удалить - и из-за этого у меня и вылазит на экран куча сообщений об ошибках.
Хром и Edge работают как-то по-другому. В них никаких проблем не возникает.
Вот такие дела.
Спасибо еще раз всем за помощь.