下面是一个关于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.