unit: MAPIVariantProp.pas
file path: ..\Library\
version: 2014.хх
uses ExtendedMAPI
Available functions:
function ConvertMAPIPropValueToVariant - Converts TSPropValue Value member to Variant
function ConvertVariantToMAPIPropValue - Converts Variant to TSPropValue
procedure ClearVarPropValue - Frees memory occupied by ConvertVariantToMAPIPropValue
function PT_SHORT2V - Converts SPropValue type PT_SHORT to Variant type varSmallint
function PT_LONG2V - Converts SPropValue type PT_LONG to Variant type varInteger
function PT_I82V - Converts SPropValue type PT_I8 (PT_LONGLONG) to Variant type varInt64
function PT_FLOAT2V - Converts SPropValue type PT_FLOAT (PT_R4) to Variant type varSingle
function PT_DOUBLE2V - Converts SPropValue type PT_DOUBLE (PT_R8) to Variant type varDouble
function PT_BOOLEAN2V - Converts SPropValue type PT_BOOLEAN to Variant type varBoolean
function PT_APPTIME2V - Converts SPropValue type PT_APPTIME to Variant type varDate
function PT_SYSTIME2V - Converts SPropValue type PT_SYSTIME to Variant type varDate
function PT_STRING82V - Converts SPropValue type PT_STRING8 to Variant type varOleStr
function PT_BINARY2V - Converts SPropValue type PT_BINARY to Variant type varArray of VarByte
function PT_UNICODE2V - Converts SPropValue type PT_UNICODE to Variant type varOleStr
function PT_CLSID2V - Converts SPropValue type PT_CLSID to Variant type varOleStr
function PT_CURRENCY2V - Converts SPropValue type PT_CURRENCY to Variant type varCurrency
function PT_MV_SHORT2V - Converts SPropValue type PT_MV_SHORT to Variant type varArray of varSmallint
function PT_MV_LONG2V - Converts SPropValue type PT_MV_LONG to Variant type varArray of varInteger
function PT_MV_FLOAT2V - Converts SPropValue type PT_MV_FLOAT to Variant type varArray of varSingle
function PT_MV_DOUBLE2V - Converts SPropValue type PT_MV_DOUBLE to Variant type varArray of varDouble
function PT_MV_CURRENCY2V - Converts SPropValue type PT_MV_CURRENCY to Variant type varArray of varCurrency
function PT_MV_APPTIME2V - Converts SPropValue type PT_MV_APPTIME to Variant type varArray of varDate
function PT_MV_SYSTIME2V - Converts SPropValue type PT_MV_SYSTIME to Variant type varArray of varDate
function PT_MV_BINARY2V - Converts SPropValue type PT_MV_BINARY to Variant type varArray of varArray of varByte
function PT_MV_STRING82V - Converts SPropValue type PT_MV_STRING8 to Variant type varArray of varOleStr
function PT_MV_UNICODE2V - Converts SPropValue type PT_MV_UNICODE to Variant type varArray of varOleStr
function PT_MV_CLSID2V - Converts SPropValue type PT_MV_CLSID to Variant type varArray of varOleStr
function PT_MV_I82V - Converts SPropValue type PT_MV_I8 to Variant type varArray of varInt64
function ConvertMAPIPropValueToVariant(Value: PSPropValue): Variant;
description:
Converts TSPropValue Value member to
Variant
parameters:
Value: PSPropValue - pointer to an existing TSPropValue
whose value will be converted to Variant
note:
ulproptag parts of TSPropValue
must contain valid PropType
usage:
hr := MailBox.GetProps(nil, fMapiUnicode, cValues, UserPropValue);
if (not Failed(hr)) and (cValues > 0) and Assigned(UserPropValue) then
begin
for iCount := 0 to cValues - 1 do
try
// Print out property tag and its value
Memo.Lines.Add(SzGetPropTag(PSPropValueArray(UserPropValue)[iCount].ulPropTag)
+ ': ' +
ConvertMAPIPropValueToVariant(@PSPropValueArray(UserPropValue)[iCount]));
except
Memo.Lines.Add('Error!');
end;
end;
function ConvertVariantToMAPIPropValue(VariantValue: Variant; var PropValue: TSPropValue; Parent: Pointer = nil): boolean;
description:
Converts Variant to TSPropValue
usage:
// Set MAPI Message property
Procedure SaveValueField(const MAPIMessage:IMessage; PropertyTag :
Cardinal; Value : Variant);
var
hr:HRESULT;
Prop:TSPropValue;
begin
Prop.ulPropTag := PropertyTag;
ConvertVariantToMAPIPropValue( value, PropArray) ;
try
hr := MAPIMessage.SetProps(1, @Prop,
PSPropProblemArray(nil^));
if Failed(hr) then
begin
ErrorMessage(GetMAPIError(MAPIMessage, hr));
exit;
finally
ClearVarPropValue(@Prop);
end;
end;
procedure ClearVarPropValue(PropValue: PSPropValue; Parent: Pointer = nil);
description:
Frees memory occupied by ConvertVariantToMAPIPropValue
function PT_SHORT2V(V: T__UPV): Variant;
description:
Converts SPropValue type
PT_SHORT to Variant type varSmallint
function PT_LONG2V(V: T__UPV): Variant;
description:
Converts SPropValue type
PT_LONG
to Variant type varInteger
function PT_I82V(V: T__UPV): Variant;
description:
Converts SPropValue type
PT_I8
(PT_LONGLONG) to Variant type varInt64
function PT_FLOAT2V(V: T__UPV): Variant;
description:
Converts SPropValue type
PT_FLOAT (PT_R4) to Variant type varSingle
function PT_DOUBLE2V(V: T__UPV): Variant;
description:
Converts SPropValue type
PT_DOUBLE (PT_R8) to Variant type varDouble
function PT_BOOLEAN2V(V: T__UPV): Variant;
description:
Converts SPropValue type
PT_BOOLEAN to Variant type varBoolean
function PT_APPTIME2V(V: T__UPV): Variant;
description:
Converts SPropValue type
PT_APPTIME to Variant type varDate
function PT_SYSTIME2V(V: T__UPV): Variant;
description:
Converts SPropValue type
PT_SYSTIME to Variant type varDate
function PT_STRING82V(V: T__UPV): Variant;
description:
Converts SPropValue type
PT_STRING8 to Variant type varOleStr
function PT_BINARY2V(V: T__UPV): Variant;
description:
Converts SPropValue type
PT_BINARY
to Variant type varArray of varByte
function PT_UNICODE2V(V: T__UPV): Variant;
description:
Converts SPropValue type
PT_UNICODE
to Variant type varOleStr
function PT_CLSID2V(V: T__UPV): Variant;
description:
Converts SPropValue type
PT_CLSID
to Variant type varOleStr
function PT_CURRENCY2V(V: T__UPV): Variant;
description:
Converts SPropValue type
PT_CURRENCY to Variant type varCurrency
function PT_MV_SHORT2V(V: T__UPV): Variant;
description:
Converts SPropValue type
PT_MV_SHORT to Variant type varArray of varSmallint
function PT_MV_LONG2V(V: T__UPV): Variant;
description:
Converts SPropValue type PT_MV_LONG to Variant type varArray of varInteger
function PT_MV_FLOAT2V(V: T__UPV): Variant;
description:
Converts SPropValue type PT_MV_FLOAT to Variant type varArray of varSingle
function PT_MV_DOUBLE2V(V: T__UPV): Variant;
description:
Converts SPropValue type PT_MV_DOUBLE to Variant type varArray of varDouble
function PT_MV_CURRENCY2V(V: T__UPV): Variant;
description:
Converts SPropValue type PT_MV_CURRENCY to Variant type varArray of varCurrency
function PT_MV_APPTIME2V(V: T__UPV): Variant;
description:
Converts SPropValue type PT_MV_APPTIME to Variant type varArray of varDate
function PT_MV_SYSTIME2V(V: T__UPV): Variant;
description:
Converts SPropValue type PT_MV_SYSTIME to Variant type varArray of varDate
function PT_MV_BINARY2V(V: T__UPV): Variant;
description:
Converts SPropValue type PT_MV_BINARY to Variant type varArray of varArray of varByte
function PT_MV_STRING82V(V: T__UPV): Variant;
description:
Converts SPropValue type PT_MV_STRING8 to Variant type varArray of varOleStr
function PT_MV_UNICODE2V(V: T__UPV): Variant;
description:
Converts SPropValue type PT_MV_UNICODE to Variant type varArray of varOleStr
function PT_MV_CLSID2V(V: T__UPV): Variant;
description:
Converts SPropValue type PT_MV_CLSID to Variant type varArray of varOleStr
function PT_MV_I82V(V: T__UPV): Variant;
description:
Converts SPropValue type PT_MV_I8 to Variant type varArray of varInt64
Copyright © 2021 IMIBO
Privacy Statement |