Забавная мелочь

softwarer
Дата: 14.11.2007 21:33:31
Проверил в Turbo Delphi, но, подозреваю, сгодится и для других версий:

type
  TPublish1 = class
  published
    procedure Test (Header: string);
  end;

  TPublish2 = class (TPublish1)
  published
    procedure Test (Header: string);
  end;

procedure TPublish1.Test;
begin
  ShowMessageFmt ('1) %s - %s', [Header, ClassName]);
end;

procedure TPublish2.Test;
begin
  ShowMessageFmt ('2) %s - %s', [Header, ClassName]);
  inherited;
end;

procedure TFormTrial.Button13Click(Sender: TObject);
var
  P1: TPublish1;
  P2: TPublish2;
begin
  P1 := TPublish2.Create;
  P1.Test ('Через P1');
  P2 := TPublish2 (P1);
  P2.Test ('Через P2');
end;
OracleX
Дата: 14.11.2007 22:18:04
Все выполняется предсказуемо. В чем забава?
softwarer
Дата: 14.11.2007 22:28:52
А и вправду ни в чем. Спать надо больше :( Прошу прощения.