TestProF.pas
上传用户:fh681027
上传日期:2022-07-23
资源大小:1959k
文件大小:2k
源码类别:

Delphi控件源码

开发平台:

Delphi

  1. unit TestProF;
  2. interface
  3. uses
  4.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  5.   StdCtrls, Spin, NumIntf;
  6. // redeclare the interface
  7. const
  8.   Class_NumPropServer: TGUID =
  9.     '{B165F7A1-DDF9-11D1-B9F1-004845400FAA}';
  10. type
  11.   TForm1 = class(TForm)
  12.     SpinEdit1: TSpinEdit;
  13.     Button1: TButton;
  14.     Button2: TButton;
  15.     SpinEdit2: TSpinEdit;
  16.     Button3: TButton;
  17.     Button4: TButton;
  18.     Label1: TLabel;
  19.     Label2: TLabel;
  20.     Button5: TButton;
  21.     procedure FormCreate(Sender: TObject);
  22.     procedure Button1Click(Sender: TObject);
  23.     procedure Button2Click(Sender: TObject);
  24.     procedure Button3Click(Sender: TObject);
  25.     procedure Button4Click(Sender: TObject);
  26.     procedure Button5Click(Sender: TObject);
  27.   private
  28.     Num1, Num2: INumberProp;
  29.   public
  30.     { Public declarations }
  31.   end;
  32. var
  33.   Form1: TForm1;
  34. implementation
  35. {$R *.DFM}
  36. uses
  37.   ComObj;
  38. procedure TForm1.FormCreate(Sender: TObject);
  39. begin
  40.   // create first object
  41.   Num1 := CreateComObject (Class_NumPropServer)
  42.     as INumberProp;
  43.   Num1.Value := SpinEdit1.Value;
  44.   Label1.Caption := 'Num1: ' + IntToStr (Num1.Value);
  45.   Button1.Enabled := True;
  46.   Button2.Enabled := True;
  47.   // create second object
  48.   Num2 := CreateComObject (Class_NumPropServer)
  49.     as INumberProp;
  50.   Label2.Caption := 'Num2: ' + IntToStr (Num2.Value);
  51.   Button3.Enabled := True;
  52.   Button4.Enabled := True;
  53. end;
  54. procedure TForm1.Button1Click(Sender: TObject);
  55. begin
  56.   // change
  57.   Num1.Value := SpinEdit1.Value;
  58.   Label1.Caption := 'Num1: ' + IntToStr (Num1.Value);
  59. end;
  60. procedure TForm1.Button2Click(Sender: TObject);
  61. begin
  62.   // increase
  63.   Num1.Increase;
  64.   Label1.Caption := 'Num1: ' + IntToStr (Num1.Value);
  65. end;
  66. procedure TForm1.Button3Click(Sender: TObject);
  67. begin
  68.   Num2.Value := SpinEdit2.Value;
  69.   Label2.Caption := 'Num2: ' + IntToStr (Num2.Value);
  70. end;
  71. procedure TForm1.Button4Click(Sender: TObject);
  72. begin
  73.   Num2.Increase;
  74.   Label2.Caption := 'Num2: ' + IntToStr (Num2.Value);
  75. end;
  76. procedure TForm1.Button5Click(Sender: TObject);
  77. var
  78.   Num3: INumberProp;
  79. begin
  80.   // create a new temporary COM object
  81.   Num3 := CreateComObject (Class_NumPropServer)
  82.     as INumberProp;
  83.   Num3.Value := 100;
  84.   Num3.Increase;
  85.   ShowMessage ('Num3: ' + IntToStr (Num3.Value));
  86. end;
  87. end.