type
 

  TMAPIPropFields = class(TObject)
  private
   ...
  protected
   ...
  public
    constructor Create(const oMAPIObject: IMAPIProp);
    destructor Destroy; override;
    property Count: ULONG read GetCount;
    property Item[const Index: Integer]: TMAPIPropField Read GetItem; default;
    property ItemOf[const PropTag: ULONG]: TMAPIPropField Read GetItemOf;
    property ItemOfNamed[const NameID: Variant; const PropSetID: TGUID]: TMAPIPropField Read GetItemOfNamed;
    property Tags: TCardinalDynArray read GetTags;
    property Modified: Boolean read GetModified;
 
    function PropExists(const PropTag: ULONG): Boolean; overload;
    function PropExists(const NameID: Variant; const PropSetID: TGUID; out PropTag: ULONG): Boolean; overload;
    function IndexOf(const PropTag: ULONG): Integer;
    procedure Refresh;
    procedure SaveChanges;
    function AddNew(const PropTag: ULONG): TMAPIPropField; overload;
    function AddNew(const NameID: Variant; const PropSetID: TGUID; const PropType: ULONG): TMAPIPropField; overload;
    procedure Delete(const PropTag: ULONG);
  end;
 
 
 
  TMAPIPropField = class(TObject)
  private
    ...
  protected
    ...
  public
    constructor Create(const aPropTag: ULONG; const MAPIProp: IMAPIProp);
    destructor Destroy; override;
    property PropName: String read GetPropName;
    property PropTag: ULONG read GetPropTag;
    property PropType: ULONG read GetPropType;
    property PropID: ULONG read GetPropID;
    property IsMultiValued: Boolean read GetIsMultiValued;
    property IsNamed: Boolean read GetIsNamed;
    property PropSetID: PGUID read GetPropGUID;
    property CustomName: String read GetPropNamedName;
 
    property AsString: String read GetAsString write SetAsString;
    property AsBoolean: Boolean read GetAsBoolean write SetAsBoolean;
    property AsInteger: Integer read GetAsInteger write SetAsInteger;
    property AsInt64: Int64 read GetAsInt64 write SetAsInt64;
    property AsSingle: Single read GetAsSingle write SetAsSingle;
    property AsDouble: Double read GetAsDouble write SetAsDouble;
    property AsCurrency: Currency read GetAsCurrency write SetAsCurrency;
    property AsDateTime: TDateTime read GetAsDateTime write SetAsDateTime;
    property AsGUID: TGUID read GetAsGUID write SetAsGUID;
    property AsBytes: TBytes read GetAsBytes write SetAsBytes;
    property Value: Variant read GetVarValue write SetVarValue;
    property RawData: PSPropValue read GetRawData;
    property MV: TMAPIMultiValue read GetMV;
    //
    function SaveToStream(Stream: TStream): Int64;
    function LoadFromStream(Stream: TStream): Int64;
    //
    procedure Delete;
    procedure Update(const Permanent: Boolean = True);
  end;
 
 
  TMAPIMultiValue = class(TObject)
  protected
    ...
  public
    property Count: Integer read GetCount;
    property Value[const Index: Integer]: Variant read GetPropValue write SetPropValue; default;
    property AsInteger[const Index: Integer]: Integer read GetAsInteger write SetAsInteger; 
    property AsInt64[const Index: Integer]: Int64 read GetAsInt64 write SetAsInt64;
    property AsSingle[const Index: Integer]: Single read GetAsSingle write SetAsSingle; 
    property AsDouble[const Index: Integer]: Double read GetAsDouble write SetAsDouble; 
    property AsCurrency[const Index: Integer]: Currency read GetAsCurrency write SetAsCurrency; 
    property AsGUID[const Index: Integer]: TGUID read GetAsGUID write SetAsGUID; 
    property AsDateTime[const Index: Integer]: TDateTime read GetAsDateTime write SetAsDateTime; 
    property AsString[const Index: Integer]: WideString read GetAsString write SetAsString; 
    property AsBytes[const Index: Integer]: TBytes read GetAsBytes write SetAsBytes; 
 
    procedure Delete(const Index: Integer);
  end;

 

 

Copyright © 1999 - 2021 IMIBO
Privacy Statement