|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
02.08.2017, 16:17 | #11 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Уважаемый житель планеты Земля, я ж сказал уже 2 раза про исключения.
try-except
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
02.08.2017, 16:19 | #12 |
Пользователь
Регистрация: 05.12.2015
Сообщений: 27
|
try - except вызывается при ошибке, он мне не подходит
|
02.08.2017, 16:25 | #13 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
В смысле при ошибке? Кидайте любое исключение (хоть свое, хоть стандартное) и ловите его снаружи (можно только его, except on ...).
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
02.08.2017, 16:30 | #14 |
Пользователь
Регистрация: 05.12.2015
Сообщений: 27
|
Извините, еще раз, try - except не подойдет
|
02.08.2017, 16:41 | #15 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Чем именно не подойдет-то?
В некоторых языках/библиотеках это и есть стандартный способ остановки работы/потока из глубоко вложенных функций. Кидают какой-нибудь OperationCancelledException и ловят его сверху.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
02.08.2017, 16:48 | #16 |
Пользователь
Регистрация: 05.12.2015
Сообщений: 27
|
я это знаю, не подходит)
В двух словах - мне нужна скорость работы. нужна простая процедура, которая тупо сдвигает указатель в процедуре some2 в конец процедуры и только. Пусть кто знает как это сделать отпишутся... буду признателен |
02.08.2017, 17:36 | #17 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Не знаю возможно ли это хоть теоретически в Дельфи, но может перед такими сложными вариантами стоит проверить производительность с исключениями?) Или с проверкой в первой процедуре. Может и не придется дальше париться.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
02.08.2017, 17:41 | #18 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,759
|
Теоретически возможно:
надо дизасмом найти конец процедуры раскрутить стек, удалив не нужные объекты убрать обработчики, если вешались привести в порядок регистры поместить правильный адрес возврата и т.д. только вряд ли это будет быстрее, лучше уж поток тогда |
02.08.2017, 18:18 | #19 |
Пользователь
Регистрация: 05.12.2015
Сообщений: 27
|
Что касается try - except:
Тут несколько причин, по которым я его не рассматриваю - первая, это заметно меньшая скорость выполнения, по правде говоря не сравнивал, что именно в ЦП он делает по другим причинам - они далее описаны (тут можно сказать так, что легче поставить тогда if...then, ибо исключительную ситуацию в любом случае программа должна так-же сравнивать, по тому-же принципу). Вторая - это собсна сама идея вывода через исключение, что само по себе мне очень, ну ОЧЕНЬ не нравиться, я занимаюсь мат-расчетами, и вот тут бы не до всяких исключений) их надо будет вводить но в рамках других частей программы. В третьих, я делаю отдельный модуль, который не связан с SysUtils в котором сидит Exception. В общем как-то так... Что касается дизасм, эт совсем извращение)) мне бы с проектной точки зрения на программу смотреть, а не с точки зрения: сделал прогу, перелопатил, перевернул ее, вставил что хотел и вуаля все работает)) Короче говоря жду свежие идейки, может есть какой вариант, сам пока по инету лазаю, всякая чепуха лезет... |
02.08.2017, 18:21 | #20 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,759
|
Варианты:
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 |