Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 23.05.2010, 22:42
DungeonLords DungeonLords вне форума
Активный
 
Регистрация: 21.07.2008
Сообщения: 257
Репутация: 14
По умолчанию AV из-за попытки присовоить поле класса

Привет всем.

Есть класс-предок и, соответственно, его наследник.

Код:
  TP = class
  private
{Тут много разных полей, не относящихся к делу...}
  FEnabled:Boolean;
  protected
  SetEnabled(Value:Boolean);
  public
  property  Enabled:Boolean read FEnabled write SetEnabled;
  end;

  Tx = class
  FPole:TP;
  public
  procedure SetBaseVersion(Value:TP);
  published
  property Prop:TP read FPole write SetBaseVersion;
  end;

...
procedure TP.SetEnabled(Value:Boolean);
begin
FEnabled:=Value;
end;

procedure TX.SetBaseVersion(Value:TP);
begin
if Value.Enabled=True then FPole:=TP.Create;
end;

Моя проблема заключается в том, что я не понимаю, почему вперёд вызывается TP.SetEnabled, а не TX.SetBaseVersion. Из-за того, что вперёд вызывается SetEnabled, комп выдаёт ошибку AV. Вопрос: как исправить? Как вызывать сначало TX.SetBaseVersion? Или что в моей ситуации можно придумать?

Дополнительный вопрос. Очень интересно, посмотрите, у TP нет конструктора, как и деструктора. Но я могу написать FPole:=TP.Create, а FPole:=TP.Destroy нет. Почему???
__________________
Делаем'c разные игры. Искать на glscene.ru

Последний раз редактировалось DungeonLords, 23.05.2010 в 22:57.
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 20:50.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025