Re[5]: Странно ведет себя Delphi
От: Diouzshev Россия  
Дата: 23.12.03 13:44
Оценка: +1 -1
Hello, tim_!
You wrote on Tue, 23 Dec 2003 10:23:11 GMT:

t> Что самое интересное, так это то, что ошибка обращения по адресу

t> происходит внутри собственного обработчика события, где, как казалось
t> бы, переменная уже должна была быть правильно инициализирована.
не должна. С чего бы это переменная обязательно должна указывать на объект?
По сути получается так, что в методе FormShow класса TfrmOperPlan используется переменная ( frmOperPlan.Height := 162;) которая к классу толком-то и отношения не имеет...
Что мешает программисту сделать так:

var 
  FRM : TfrmOperPlan;
begin
  FRM := TfrmOperPlan.Create(Application);
  FRM.FormShow(nil);
end;

и что по твоему сделает вышеприведенное присваивание?
Правильно, AV, если, конечно, frmOperPlan не инициализирована. Если инициализирована, то соответственно значение будет присвоено другому объекту, а вовсе не тому на который ссылается переменная FRM.

t> Ну а все, что нужно сделать вам, уважаемый Magic, так это выяснить

t> как случается так, что вызов события объекта происходит до создания
t> его экземпляра или после его уничтожения.

Уважаемуму Magic нужно перестать использовать левые переменные внутри методов класса, без особой на это надобности, что он, судя по всему, уже понял.

With best regards, Alexander Diouzshev-Maltsev.
Posted via RSDN NNTP Server 1.8 beta
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.