Показать сообщение отдельно
Старый 19.06.2006, 11:38   #64  
db is offline
db
Роман Долгополов (RDOL)
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
 
393 / 692 (24) +++++++
Регистрация: 01.04.2004
Адрес: Москва
Цитата:
Сообщение от batiskaf_new
в коде infolog.startup() написано для этих целей использовать startupPost ? И еще, очень меня смущает программирование в системных классах, у меня каждый чих практически таким образом производится, с ужасом думаю как это все будет распространяться... Сложно было этим Навижн преджусмотреть какие то адаптеры, которыми нужно напичкать систему? Ну ладно, допустим. И еще объясните мне такую вещь. Вот если я меняю какой нибудь класс из AOT\Classes то изменения можно сохранить в файле .xpo, и затем импортировать, допустим что такой вариант для меня приемлимый. А вот если я переписываю отдельные методы класса Info, класс ведь системный, class defenition его вообще не открыть, только метод startupPost. Как потом эти изменения сохранить в отдельный файл, чтобы потом импортировать в АОТ на другом компе (допустим что этот комп в другой компании, наши АОТ не связаны).
понятно что правильнее startupPost(). Но все зависит от ситуации. startupPost() явно вызывается из startup() - если вам надо что-то сделать раньше, чем вызов этого метода - то придется написать в самом startup() или даже в new()

перекрывая методы xInfo (вот он как раз полностью системный и закрытый) вы их пишите их реализацию в классе Info - там все замечательно открывается и экспортируется, включая ClassDeclaration. глобальная переменная infolog ссылается на экземпляр Info (не xInfo - он абсрактный базовый). Ядро же для своих нужд использует интерфейс от xInfo

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

Последний раз редактировалось db; 19.06.2006 в 11:43.