Показать сообщение отдельно
Старый 11.07.2007, 05:33   #1  
longson is offline
longson
Участник
 
231 / 49 (2) +++
Регистрация: 12.12.2006
Адрес: Москва
Переменные в наследнике класса
Добрый день,

Подскажите, пожалуйста, суть такой проблемы.

1. Есть класс А, в нём есть переменные глобальные a. В нём также реализованы диалог и метод К, обрабатывающий информацию с диалога. В классе А переменная a нигде не инициализируется.

2. Пишу наследник класса А, назовём его В. В этом классе перекрывал dialog, getfromdialog, validate, и метод К. Причём в getfromdialog присвоено значение переменной а. Например a = 1.

3. В методе К в наследнике (классе В) пишу отдельный код для обработки переменной a (без super().

Проблема: переменная a в классе В инициализируется и принимает значение только там в методе getfromdialog, после этого она стала null в методе К класса В и ранее присвоенное значение вообще не может использоваться.

Об этом убедился путём растановки точки остановки в различных местах кода.

Ещё, если та переменная a инициализируется не в наследнике В, а в основном А, то всё нормально. Можно так и решить проблему, только это мне не очень нравится, потому что мне нужно несколько наследников класса А, в каждом из них надо принимать отдельные переменные. Да и тоже хочу понять суть проблемы

Работаю в AX 3.0 SP5, в трёхзвеньке.

Спасибо.