![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
Уважаемый житель планеты Земля, я ж сказал уже 2 раза про исключения.
try-except
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
![]() |
![]() |
![]() |
#12 |
Пользователь
Регистрация: 05.12.2015
Сообщений: 27
|
![]()
try - except вызывается при ошибке, он мне не подходит
|
![]() |
![]() |
![]() |
#13 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
В смысле при ошибке? Кидайте любое исключение (хоть свое, хоть стандартное) и ловите его снаружи (можно только его, except on ...).
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
![]() |
![]() |
![]() |
#14 |
Пользователь
Регистрация: 05.12.2015
Сообщений: 27
|
![]()
Извините, еще раз, try - except не подойдет
|
![]() |
![]() |
![]() |
#15 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
Чем именно не подойдет-то?
В некоторых языках/библиотеках это и есть стандартный способ остановки работы/потока из глубоко вложенных функций. Кидают какой-нибудь OperationCancelledException и ловят его сверху.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
![]() |
![]() |
![]() |
#16 |
Пользователь
Регистрация: 05.12.2015
Сообщений: 27
|
![]()
я это знаю, не подходит)
В двух словах - мне нужна скорость работы. нужна простая процедура, которая тупо сдвигает указатель в процедуре some2 в конец процедуры и только. Пусть кто знает как это сделать отпишутся... буду признателен |
![]() |
![]() |
![]() |
#17 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
Не знаю возможно ли это хоть теоретически в Дельфи, но может перед такими сложными вариантами стоит проверить производительность с исключениями?) Или с проверкой в первой процедуре. Может и не придется дальше париться.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
![]() |
![]() |
![]() |
#18 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,725
|
![]()
Теоретически возможно:
надо дизасмом найти конец процедуры раскрутить стек, удалив не нужные объекты убрать обработчики, если вешались привести в порядок регистры поместить правильный адрес возврата и т.д. только вряд ли это будет быстрее, лучше уж поток тогда |
![]() |
![]() |
![]() |
#19 |
Пользователь
Регистрация: 05.12.2015
Сообщений: 27
|
![]()
Что касается try - except:
Тут несколько причин, по которым я его не рассматриваю - первая, это заметно меньшая скорость выполнения, по правде говоря не сравнивал, что именно в ЦП он делает по другим причинам - они далее описаны (тут можно сказать так, что легче поставить тогда if...then, ибо исключительную ситуацию в любом случае программа должна так-же сравнивать, по тому-же принципу). Вторая - это собсна сама идея вывода через исключение, что само по себе мне очень, ну ОЧЕНЬ не нравиться, я занимаюсь мат-расчетами, и вот тут бы не до всяких исключений) их надо будет вводить но в рамках других частей программы. В третьих, я делаю отдельный модуль, который не связан с SysUtils в котором сидит Exception. В общем как-то так... Что касается дизасм, эт совсем извращение)) мне бы с проектной точки зрения на программу смотреть, а не с точки зрения: сделал прогу, перелопатил, перевернул ее, вставил что хотел и вуаля все работает)) Короче говоря жду свежие идейки, может есть какой вариант, сам пока по инету лазаю, всякая чепуха лезет... |
![]() |
![]() |
![]() |
#20 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,725
|
![]()
Варианты:
1. Потоки/нити/... 2. Бросание исключений 3. Возврат кода ошибки 4. Какие-то глобальные переменные 5. Изврат, что я написал |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Передача одной процедуры другой в качестве входящего параметра | ProRockX | Общие вопросы Delphi | 2 | 02.10.2015 11:32 |
Не могу найти контрол из одной процедуры в другой | ChoKavo | C# (си шарп) | 1 | 18.10.2014 13:34 |
Использование имени процедуры в качестве параметра другой процедуры | Alexey355 | Помощь студентам | 1 | 23.04.2011 13:59 |
Вызов одной процедуры из другой | artemavd | Общие вопросы Delphi | 11 | 26.11.2010 17:37 |
Ошибка вызова одной процедуры в другой! | $T@LKER | БД в Delphi | 4 | 28.04.2010 19:50 |