Вот более подробный пример большой ошибки Delphi.
Я предлагаю каждому попробовать это как можно больше. Я надеюсь, что дискуссия по этому поводу будет более оживленной, чтобы
Это может быть полезно каждому. В журнале есть две похожие статьи.
http://www.csdn.net/develop/read_article.asp?id=12606
http://www.csdn.net/develop/read_article.asp?id=12525
Ниже приведен пример исходного кода, вы можете свободно играть с настройками.
блок Unit1;
интерфейс
использует
Windows, сообщения, SysUtils, варианты, классы, графика, элементы управления, формы,
Диалоги, StdCtrls, Меню, ExtCtrls, jpeg;
тип
ТФорм1 = класс (ТФорма)
Кнопка1: Кнопка T;
ГлавноеМеню1: ТМаинМеню;
сянгья1: TMenuItem;
Изображение1: TImage;
Форма1: Тшапе;
PROcedure Button1Click (Отправитель: TObject);
процедура xiangya1Click (Отправитель: TObject);
процедура Image1Click (Отправитель: TObject);
процедура Shape1MouseDown (Отправитель: TObject; Кнопка: TMouseButton;
Сдвиг: TShiftState; X, Y: целое число);
частный
{Частные заявления}
общественный
{Публичные заявления}
конец;
вар
Форма1: ТФорм1;
тип
ТхОбъект = класс
деструктор Уничтожить;переопределить;
конец;
выполнение
{$R *.dfm}
процедура TForm1.Button1Click(Отправитель: TObject);
вар
х: ТхОбъект;
начинать
х := TxObject.Create;
ShowMessage('сянгья');
x.Бесплатно;
конец;
{TxObject}
деструктор TxObject.Destroy;
начинать
MessageBox(0, PChar('TxObject'),'Free',MB_OK);
унаследованный;
конец;
процедура TForm1.xiangya1Click(Отправитель: TObject);
вар
х: ТхОбъект;
начинать
х := TxObject.Create;
ShowMessage('сянгья');
x.Бесплатно;
конец;
процедура TForm1.Image1Click(Отправитель: TObject);
вар
х: ТхОбъект;
начинать
// x := TxObject.Create;
// ShowMessage('сянгья');
x.Бесплатно;
конец;
процедура TForm1.Shape1MouseDown(Отправитель: TObject; Кнопка: TMouseButton;
Сдвиг: TShiftState; X, Y: целое число);
вар
хх: ТхОбъект;
начинать
// xx := TxObject.Create;
ShowMessage('сянгья');
хх.Бесплатно;
конец;
конец