Voici un exemple plus détaillé d'un gros bug Delphi.
Je suggère à tout le monde de l'essayer autant que possible. J'espère que le débat à ce sujet sera plus animé, afin de
Cela peut être utile à tout le monde. Il existe deux articles similaires dans le
http://www.csdn.net/develop/read_article.asp?id=12606
http://www.csdn.net/develop/read_article.asp?id=12525
Vous trouverez ci-dessous un exemple de code source, vous pouvez jouer librement avec les paramètres.
unité Unité1 ;
interface
utilise
Windows, messages, SysUtils, variantes, classes, graphiques, contrôles, formulaires,
Boîtes de dialogue, StdCtrls, Menus, ExtCtrls, jpeg ;
taper
TForm1 = classe(TForm)
Bouton1 : TButton ;
MenuMain1 : TMainMenu ;
xiangya1:TMenuItem;
Image1 : TImage ;
Forme1 : TForme ;
PProcédure Button1Click (Expéditeur : TObject );
procédure xiangya1Click (Expéditeur : TObject);
procédure Image1Click (Expéditeur : TObject);
procédure Shape1MouseDown (Expéditeur : TObject ; Bouton : TMouseButton ;
Shift : TShiftState ; X, Y : entier );
privé
{Déclarations privées}
publique
{Déclarations publiques}
fin;
var
Formulaire1 : TForm1 ;
taper
TxObject = classe
destructeur Détruire ; remplacer ;
fin;
mise en œuvre
{$R *.dfm}
procédure TForm1.Button1Click(Expéditeur : TObject);
var
x : TxObject ;
commencer
x := TxObject.Create;
ShowMessage('xiangya');
x.Gratuit ;
fin;
{ObjetTx}
destructeur TxObject.Destroy ;
commencer
MessageBox(0, PChar('TxObject'),'Free',MB_OK);
hérité;
fin;
procédure TForm1.xiangya1Click(Expéditeur : TObject);
var
x : TxObject ;
commencer
x := TxObject.Create;
ShowMessage('xiangya');
x.Gratuit ;
fin;
procédure TForm1.Image1Click(Expéditeur : TObject);
var
x : TxObject ;
commencer
// x := TxObject.Create;
// ShowMessage('xiangya');
x.Gratuit ;
fin;
procédure TForm1.Shape1MouseDown(Expéditeur : TObject ; Bouton : TMouseButton ;
Shift : TSiftState ; X, Y : entier );
var
xx : TxObject ;
commencer
// xx := TxObject.Create;
ShowMessage('xiangya');
xx.Gratuit ;
fin;
fin