home *** CD-ROM | disk | FTP | other *** search
- unit Package;
-
- interface
-
- uses
- ComObj, ActiveX, TDMWebLib_TLB, StdVcl;
-
- type
- TPackage = class(TAutoObject, IPackage)
- protected
- function Basic(iOption: Integer): Double; safecall;
- function Advanced(iOption: Integer): Double; safecall;
- function Professional(iOption: Integer): Double; safecall;
- { Protected declarations }
- end;
-
- implementation
-
- uses ComServ;
-
- (* ************************************************************************* *)
-
- function optionCost(iOption : Integer) : Double;
- var lCost : Double;
- begin
- lCost := 0;
-
- if ((iOption AND 1) > 0) then lCost := lCost + 12;
- if ((iOption AND 2) > 0) then lCost := lCost + 30;
- if ((iOption AND 4) > 0) then lCost := lCost + 30;
- if ((iOption AND 8) > 0) then lCost := lCost + 30;
- if ((iOption AND 16) > 0) then lCost := lCost + 100;
-
- Result := lCost;
- end;
-
- (* ************************************************************************* *)
-
- function TPackage.Basic(iOption: Integer): Double;
- begin
- Result := 60 + optionCost(iOption);
- end;
-
- (* ************************************************************************* *)
-
- function TPackage.Advanced(iOption: Integer): Double;
- begin
- Result := 100 + optionCost(iOption);
- end;
-
- (* ************************************************************************* *)
-
- function TPackage.Professional(iOption: Integer): Double;
- begin
- Result := 150 + optionCost(iOption);
- end;
-
- (* ************************************************************************* *)
-
- initialization
- TAutoObjectFactory.Create(ComServer, TPackage, Class_Package,
- ciMultiInstance, tmApartment);
- end.
-
-
-