home *** CD-ROM | disk | FTP | other *** search
/ Delphi Programming Unleashed / Delphi_Programming_Unleashed_SAMS_Publishing_1995.iso / misc / objects / classex / class1 / main.pas < prev    next >
Pascal/Delphi Source File  |  1995-03-20  |  1KB  |  63 lines

  1. unit Main;
  2.  
  3. { Program copyright (c) 1995 by Charles Calvert }
  4. { Project Name: CLASS1 }
  5.  
  6. { Simple example of playing with class instances. }
  7.  
  8. interface
  9.  
  10. uses
  11.   WinTypes, WinProcs, Classes,
  12.   Graphics, Forms, Controls,
  13.   StdCtrls;
  14.  
  15. type
  16.   TMyClass = class(TObject)
  17.   end;
  18.  
  19.   TForm1 = class(TForm)
  20.     SeeClasses: TButton;
  21.     Memo1: TMemo;
  22.     procedure SeeClassesClick(Sender: TObject);
  23.   private
  24.     MyClass: TMyClass;
  25.   end;
  26.  
  27. var
  28.   Form1: TForm1;
  29.  
  30. implementation
  31.  
  32. uses
  33.   SysUtils;
  34.  
  35. {$R *.DFM}
  36.  
  37. procedure TForm1.SeeClassesClick(Sender: TObject);
  38. var
  39.   AnObject: TObject;
  40.   S: String;
  41. begin
  42.   Memo1.Lines.Clear;
  43.   MyClass := TMyClass.Create; 
  44.   S := 'Class name: ' +  MyClass.ClassName;
  45.   Memo1.Lines.Add(S);
  46.   S := 'Parent: ' +  MyClass.ClassParent.ClassName;
  47.   Memo1.Lines.Add(S);
  48.   S := 'Instance size: ' + IntToStr(MyClass.InstanceSize);
  49.   Memo1.Lines.Add(S);
  50.   MyClass.Free;
  51.   AnObject := TObject.Create;
  52.   S := 'Class name: ' + AnObject.ClassName;
  53.   Memo1.Lines.Add(S);
  54.   S := 'Instance Size: ' + IntToStr(Anobject.InstanceSize);
  55.   if AnObject.ClassParent <> nil then begin
  56.     S := AnObject.ClassParent.ClassName;
  57.     Memo1.Lines.Add(S);
  58.   end;
  59.   AnObject.Free;
  60. end;
  61.  
  62. end.
  63.