Здравствуйте, Hacker_Delphi, Вы писали:
H_D>Здравствуйте, tim_, Вы писали:
_>>Здравствуйте, Diouzshev.
_>>Что самое интересное, так это то, что ошибка обращения по адресу происходит внутри собственного обработчика события, где, как казалось бы, переменная уже должна была быть правильно инициализирована.
H_D>С чего бы? если посмотреть код проекта, то мы увидим вот такую чтрочку:
H_D>H_D>Application.CreateForm(TfrmOperPlan, frmOperPlan);
H_D>
H_D>причем, судя по описанию ошибки форма — главная и строчки
H_D>H_D>Application.ShowMainForm := false;
H_D>
H_D>в коде проекта нету.
H_D>Соответственно, сразу после создания происходит вызов TfrmOperPlan.Show (причем — до присвоения, ибо присвоение происходит в одной из последних строк Application.CreateForm, если вообще не последней.
H_D>А обработчик FormShow вызывается как реакция на событие OnShow, которое происходит внутри (а где же еще) процедуры TWinControl.Show (или даже TControl.Show — не помню).
_>>Ну а все, что нужно сделать вам, уважаемый Magic, так это выяснить как случается так, что вызов события объекта происходит до создания его экземпляра или после его уничтожения.
H_D>Э-э-э нет... на самом деле — в процессе создания
Ну, мы теперь с вами гадать тут будем, как и что у задавшего вопрос инициализируется, криэйтится, вызывается... Где у него там nil а где и мусор, а скорее всего там главная форма, а может, и нет... Что он мог бы прописать до, а что после, а что просто не написал...
Все это, конечно, хорошо и интересно, возможно даже, увлекательно, но не кажется ли вам, коллеги, что мы несколько углубились в вопрос и занялись интеллектуальной мастурбацией (извините за сравнение

)?