Форум «Всё о Паскале» _ Делфи _ Создание классов в Delphi
Автор: klem4 2.09.2006 15:53
Не могу понять что я делаю не верно.
unit Unit1;
interface
type
TMyClass = class(TObject) private public constructor Create; destructor Destroy; end;
implementation
constructor TMyClass.Create; begin inherited Create; // ?? end;
destructor TMyClass.Destroy; begin end;
end.
program Project1;
{$APPTYPE CONSOLE}
uses SysUtils, Unit1 in 'Unit1.pas';
var
MyClass : TMyClass;
begin MyClass.Create; MyClass.Destroy; end.
Цитата
[Warning] Project1.dpr(14): Variable 'MyClass' might not have been initialized
Автор: volvo 2.09.2006 16:19
begin MyClass := TMyClass.Create; // ... MyClass.Destroy; end.
P.S. А чего это ты на второе предупреждение не обратил внимания?
Цитата
[Warning] unit1.pas(11): Method 'Destroy' hides virtual method of base type 'TObject'
Автор: klem4 2.09.2006 16:24
Спасибо
Автор: klem4 2.09.2006 17:31
Цитата(volvo @ 2.09.2006 13:19)
P.S. А чего это ты на второе предупреждение не обратил внимания?
На сколько я понял его надо перекывать ?
destructor Destroy; override;
Автор: volvo 2.09.2006 17:52
Цитата(klem4 @ 2.09.2006 13:31)
На сколько я понял его надо перекывать ?
Но ты же этого в начале не сделал...
Кстати, можно просто заглушить сообщение о том, что твой виртуальный метод скрывает виртуальный метод родителя... Для этого пользоваться не директивой Override, а ReIntroduce ...