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

Delphi控件源码

开发平台:

Delphi

  1. unit TestComF;
  2. interface
  3. uses
  4.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  5.   StdCtrls, Spin, NumIntf;
  6. // redeclare the server GUID
  7. const
  8.   Class_Number: TGUID =
  9.   '{5B2EF181-3AAE-11D3-B9F1-00000100A27B}';
  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 : INumber;
  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_Number) as INumber;
  42.   Num1.SetValue (SpinEdit1.Value);
  43.   Label1.Caption := 'Num1: ' + IntToStr (Num1.GetValue);
  44.   Button1.Enabled := True;
  45.   Button2.Enabled := True;
  46.   // create second object
  47.   Num2 := CreateComObject (Class_Number) as INumber;
  48.   Label2.Caption := 'Num2: ' + IntToStr (Num2.GetValue);
  49.   Button3.Enabled := True;
  50.   Button4.Enabled := True;
  51. end;
  52. procedure TForm1.Button1Click(Sender: TObject);
  53. begin
  54.   // change
  55.   Num1.SetValue (SpinEdit1.Value);
  56.   Label1.Caption := 'Num1: ' + IntToStr (Num1.GetValue);
  57. end;
  58. procedure TForm1.Button2Click(Sender: TObject);
  59. begin
  60.   // increase
  61.   Num1.Increase;
  62.   Label1.Caption := 'Num1: ' + IntToStr (Num1.GetValue);
  63. end;
  64. procedure TForm1.Button3Click(Sender: TObject);
  65. begin
  66.   Num2.SetValue (SpinEdit2.Value);
  67.   Label2.Caption := 'Num2: ' + IntToStr (Num2.GetValue);
  68. end;
  69. procedure TForm1.Button4Click(Sender: TObject);
  70. begin
  71.   Num2.Increase;
  72.   Label2.Caption := 'Num2: ' + IntToStr (Num2.GetValue);
  73. end;
  74. procedure TForm1.Button5Click(Sender: TObject);
  75. var
  76.   Num3: INumber;
  77. begin
  78.   // create a new temporary COM object
  79.   Num3 := CreateComObject (Class_Number) as INumber;
  80.   Num3.SetValue (100);
  81.   Num3.Increase;
  82.   ShowMessage ('Num3: ' + IntToStr (Num3.GetValue));
  83. end;
  84. end.