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

Delphi控件源码

开发平台:

Delphi

  1. unit NumServ;
  2. interface
  3. uses
  4.   Windows, ActiveX, ComObj, NumIntf;
  5. type
  6.   TNumber = class(TComObject, INumber)
  7.   private
  8.     fValue: Integer;
  9.   public
  10.     function GetValue: Integer; virtual; stdcall;
  11.     procedure SetValue (New: Integer); virtual; stdcall;
  12.     procedure Increase; virtual; stdcall;
  13.     procedure Initialize; override;
  14.     destructor Destroy; override;
  15.   end;
  16. const
  17.   Class_Number: TGUID = '{5B2EF181-3AAE-11D3-B9F1-00000100A27B}';
  18. implementation
  19. uses ComServ;
  20. { TNumber }
  21. destructor TNumber.Destroy;
  22. begin
  23.   inherited;
  24.   MessageBox (0, 'Object Destroyed',
  25.     'TDLLNumber', mb_OK); // API call
  26. end;
  27. function TNumber.GetValue: Integer;
  28. begin
  29.   Result := fValue;
  30. end;
  31. procedure TNumber.Increase;
  32. begin
  33.   Inc (fValue);
  34. end;
  35. procedure TNumber.Initialize;
  36. begin
  37.   inherited;
  38.   fValue := 10;
  39. end;
  40. procedure TNumber.SetValue(New: Integer);
  41. begin
  42.   fValue := New;
  43. end;
  44. initialization
  45.   TComObjectFactory.Create(ComServer, TNumber, Class_Number,
  46.     'Number', 'Number Server', ciMultiInstance, tmApartment);
  47. end.