打印本文 打印本文 关闭窗口 关闭窗口
关于Delphi大Bug的更详细的例子
作者:武汉SEO闵涛  文章来源:敏韬网  点击数977  更新时间:2009/4/23 18:39:46  文章录入:mintao  责任编辑:mintao

下面是一个关于Delphi大Bug的更加详尽的例子。

我建议大家尽可以好好去试试。关于它的讨论,希望热烈一点,借此,

能对大家多少有些帮助。两外两个类似的文章在

http://www.csdn.net/develop/read_article.asp?id=12606

http://www.csdn.net/develop/read_article.asp?id=12525

下面是例子源代码,其中的设置,您尽可以自由发挥。

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Menus, ExtCtrls, jpeg;

type
  TForm1 = class(TForm)
    Button1: TButton;
    MainMenu1: TMainMenu;
    xiangya1: TMenuItem;
    Image1: TImage;
    Shape1: TShape;
    procedure Button1Click(Sender: TObject);
    procedure xiangya1Click(Sender: TObject);
    procedure Image1Click(Sender: TObject);
    procedure Shape1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

type
  TxObject = class
    destructor Destroy;override;
  end;
implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  x: TxObject;
begin
  x := TxObject.Create;
  ShowMessage(''''xiangya'''');
  x.Free;
end;

{ TxObject }

destructor TxObject.Destroy;
begin
  MessageBox(0, PChar(''''TxObject''''),''''Free'''',MB_OK);
  inherited;
end;

procedure TForm1.xiangya1Click(Sender: TObject);
var
  x: TxObject;
begin
  x := TxObject.Create;
  ShowMessage(''''xiangya'''');
  x.Free;
end;

procedure TForm1.Image1Click(Sender: TObject);
var
  x: TxObject;
begin
//  x := TxObject.Create;
//  ShowMessage(''''xiangya'''');
  x.Free;
end;

procedure TForm1.Shape1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
var
  xx: TxObject;
begin
//  xx := TxObject.Create;
  ShowMessage(''''xiangya'''');
  xx.Free;
end;

end.

打印本文 打印本文 关闭窗口 关闭窗口