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

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
kreator
✯ Ветеран ✯
Сообщения: 3256
Зарегистрирован: 28 Май 2009, 14:54
Откуда: Москва

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

Сообщение kreator » 12 Апрель 2019, 14:51

Вообще-то использование halt некошерно:
HALT should not be used in multi-DLL applications, and should only be used as a debugging technique.
HALT не должен использоваться в приложениях с несколькими DLL, и должен использоваться только как метод отладки.
We are hard at work… for you. :)

Yufil
Ветеран движения
Сообщения: 1109
Зарегистрирован: 16 Май 2006, 13:34
Контактная информация:

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

Сообщение Yufil » 12 Апрель 2019, 15:58

Ну да... Но зачем-то этот оператор есть.. Специально залез в HELP и проверил наличие GOTO, сразу от души отлегло :D

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

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

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

kreator
✯ Ветеран ✯
Сообщения: 3256
Зарегистрирован: 28 Май 2009, 14:54
Откуда: Москва

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

Сообщение kreator » 12 Апрель 2019, 16:33

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

Ответить