Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.08.2017, 16:17   #11
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Уважаемый житель планеты Земля, я ж сказал уже 2 раза про исключения.
try-except
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 02.08.2017, 16:19   #12
Shahimat
Пользователь
 
Регистрация: 05.12.2015
Сообщений: 27
По умолчанию

try - except вызывается при ошибке, он мне не подходит
Shahimat вне форума Ответить с цитированием
Старый 02.08.2017, 16:25   #13
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

В смысле при ошибке? Кидайте любое исключение (хоть свое, хоть стандартное) и ловите его снаружи (можно только его, except on ...).
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 02.08.2017, 16:30   #14
Shahimat
Пользователь
 
Регистрация: 05.12.2015
Сообщений: 27
По умолчанию

Извините, еще раз, try - except не подойдет
Shahimat вне форума Ответить с цитированием
Старый 02.08.2017, 16:41   #15
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Чем именно не подойдет-то?

В некоторых языках/библиотеках это и есть стандартный способ остановки работы/потока из глубоко вложенных функций. Кидают какой-нибудь OperationCancelledException и ловят его сверху.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 02.08.2017, 16:48   #16
Shahimat
Пользователь
 
Регистрация: 05.12.2015
Сообщений: 27
По умолчанию

я это знаю, не подходит)
В двух словах - мне нужна скорость работы. нужна простая процедура, которая тупо сдвигает указатель в процедуре some2 в конец процедуры и только.
Пусть кто знает как это сделать отпишутся... буду признателен
Shahimat вне форума Ответить с цитированием
Старый 02.08.2017, 17:36   #17
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Не знаю возможно ли это хоть теоретически в Дельфи, но может перед такими сложными вариантами стоит проверить производительность с исключениями?) Или с проверкой в первой процедуре. Может и не придется дальше париться.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 02.08.2017, 17:41   #18
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Теоретически возможно:
надо дизасмом найти конец процедуры
раскрутить стек, удалив не нужные объекты
убрать обработчики, если вешались
привести в порядок регистры
поместить правильный адрес возврата
и т.д.
только вряд ли это будет быстрее, лучше уж поток тогда
p51x вне форума Ответить с цитированием
Старый 02.08.2017, 18:18   #19
Shahimat
Пользователь
 
Регистрация: 05.12.2015
Сообщений: 27
По умолчанию

Что касается try - except:
Тут несколько причин, по которым я его не рассматриваю - первая, это заметно меньшая скорость выполнения, по правде говоря не сравнивал, что именно в ЦП он делает по другим причинам - они далее описаны (тут можно сказать так, что легче поставить тогда if...then, ибо исключительную ситуацию в любом случае программа должна так-же сравнивать, по тому-же принципу). Вторая - это собсна сама идея вывода через исключение, что само по себе мне очень, ну ОЧЕНЬ не нравиться, я занимаюсь мат-расчетами, и вот тут бы не до всяких исключений) их надо будет вводить но в рамках других частей программы. В третьих, я делаю отдельный модуль, который не связан с SysUtils в котором сидит Exception. В общем как-то так...
Что касается дизасм, эт совсем извращение)) мне бы с проектной точки зрения на программу смотреть, а не с точки зрения: сделал прогу, перелопатил, перевернул ее, вставил что хотел и вуаля все работает))
Короче говоря жду свежие идейки, может есть какой вариант, сам пока по инету лазаю, всякая чепуха лезет...
Shahimat вне форума Ответить с цитированием
Старый 02.08.2017, 18:21   #20
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Варианты:
1. Потоки/нити/...
2. Бросание исключений
3. Возврат кода ошибки
4. Какие-то глобальные переменные
5. Изврат, что я написал
p51x вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передача одной процедуры другой в качестве входящего параметра 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