parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Помогите пожалуйста осилить эту логику!

sensor 02.11.2007 16:35

Использовал класс auth -- всё было хорошо. Для дальнейшего переопределения методов вывода форм (типа htmlFormLogon), решил определить дочерний класс -- MyAuth. Определил в нём конструктор:
@init[icookie_data;ilogon_data;params]
^BASE:init[icookie_data;ilogon_data;params]
И начала вылезать ошибка: Initialization failure. $.oSql or $.csql option MUST be specified.
Вылезает она в auth.p в методе declareVars[], если передаваемый объект класса Sql не определён.
Почему так? Почему с родным классом auth всё работает нормально?
И самое идиотское:
если в методе declareVars перед проверкой на определённость переданного объекта Sql (
^if(!def $oSql)
) вставить, например, вот такой код:
^if(def $oSql){^throw[auth; oSql определён]}
,
то будет выведено сообщение, что "oSql определён".
А если ещё засунуть проверку на принадлежность классу, то окажется, что oSql -- это MySqlComp.
Как переменная может быть и определена, и не определена одновременно?! И почему это может случиться при использовании дочернего класса от auth? Может я как-то неправильно наследую?
Помогите пожалуйста разобраться! Крыша от таких раскопок просто едет.