Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Назначение свойства пириводит к уничтожению объекта


Kolan ©   (2007-08-11 09:50:00) 

…наверно.

Здравствуйте,
 Что-то я схожу с ума.

Вот создаю объект с пом CreateMeasurment:
function TMeasurmentsManager.Add: Integer;
begin
 Result := inherited Add(CreateMeasurment);
 DoAdd(Measurments[Result], Result);
end;


Вот CreateMeasurment:
function TMeasurmentsManager.CreateMeasurment: TMeasurment;
begin
 Result := TMeasurment.Create;
  Result.OnChange := MeasurmentChangeEvent;
end;


Если не назначать OnChange — то все ок. Если назначить, то приобращении к Measurments[Index]— AV.

Вот как объявлено OnChange:

TMeasurment = class
 strict private
   FChangeEvent: TNotifyEvent;
 {…}
public
  {…}
   property OnChange: TNotifyEvent read FChangeEvent write FChangeEvent;
 end;


Kolan   (2007-08-11 10:47:00) [1]

> в остальном криминала не наблюдаю…

Да разобрался, благодарю: «Пакет скопировать забыл» © [1] Kolan ©   (11.08.07 09:59)


MetalFan   (2007-08-11 10:31:00) [2]

что происходит в
>  DoAdd(Measurments[Result], Result);

в остальном криминала не наблюдаю...


Kolan   (2007-08-11 09:59:00) [3]

А потом Сергей М. меня спрашивает почему я боюсь пакеты…
Сделал Getter Setter для:
property OnChange: TNotifyEvent read FChangeEvent write FChangeEvent;
Сразу стало ругаться что не найдены таки функции.

Пакет скопировать забыл. :(


Наверх

Титульная страница Поиск, карта сайта Написать письмо