Страница 2 из 2

Открыть окно по размеру ClientArea главного окна

Добавлено: 12 Апрель 2019, 14:51
kreator
Вообще-то использование halt некошерно:
HALT should not be used in multi-DLL applications, and should only be used as a debugging technique.
HALT не должен использоваться в приложениях с несколькими DLL, и должен использоваться только как метод отладки.

Открыть окно по размеру ClientArea главного окна

Добавлено: 12 Апрель 2019, 15:58
Yufil
Ну да... Но зачем-то этот оператор есть.. Специально залез в HELP и проверил наличие GOTO, сразу от души отлегло :D

Бывают случаи, когда без него хреново. Например, когда ты глубоко внутри программы обнаруживаешь, что база отрубилась. Или поступил снаружи некий сигнал, что надо срочно выйти из программы. Или приходится ( мой случай ) работать со сторонней библиотекой с огромными утечками памяти и не освобождающей нужные файлы. В программе стоит что-то типа:

Код: Выделить всё

IF  abortFlag 
   RUN( COMMAND( 0 ) )
   HALT() 
END 
Программа сама себя явно рестартует ....

Открыть окно по размеру ClientArea главного окна

Добавлено: 12 Апрель 2019, 16:33
kreator
Yufil писал(а): 12 Апрель 2019, 15:58 Ну да... Но зачем-то этот оператор есть.. Специально залез в HELP и проверил наличие GOTO, сразу от души отлегло :D
По поводу GOTO недавно был забавный случай. Великовозрастный коллега похвалился классным ходом. Оказалось, это goto. Но, оказывается, так просто его не напишешь, компилятор ругается. И он нашёл вариант!!! Создал рутину и вот там... Я говорю - "Твою энергию да в мирных целях". Я переписал его кусок минут за пять через loop. Получилось компактнее и понятнее. Сколько потратил времени на поиск решения как обмануть компилятор, которые ругается на метки для goto неизвестно. Думаю более пяти минут. И по своей сути получил говнокод. Грубовато, но что поделать?