{$IfDef FPC}{$CodePage cp1251}{$EndIf FPC}
unit m3AttrIndexDumpersCache;
// --------------------------------------------------------------------------
// Родители: "SearchByAttributes" <> MUID: (66C47D3E0363) :: "m3" <> MUID: (548712F60101) :: "Shared Delphi Low Level" <> MUID: (4ABCC25A0322)
// --------------------------------------------------------------------------
// Модуль: "w:\common\components\rtl\Garant\m3\m3AttrIndexDumpersCache.pas" GeneratorVersion: 1.0.0.883901
// Стереотип: "<>"
// Элемент модели: "Tm3AttrIndexDumpersCache" MUID: (69B54CEC0061)
// --------------------------------------------------------------------------
//#UC START# *69B54CEC0061BeforeDefines*
//#UC END# *69B54CEC0061BeforeDefines*
{$Include m3Define.inc}
interface
uses
l3IntfUses
, m3SearcherInterfaces
, TypInfo
, l3CoreInterfaces
, l3ProtoDataContainer
, l3PureMixIns
, l3Ptr
, l3Types
, l3Interfaces
, l3Except
, Classes
, l3ProxyObjects
, l3TypesModelPart
;
type
Tm3AttrIndexDumperKeyPtr = ^Tm3AttrIndexDumperKey;
{* Указатель на Tm3AttrIndexDumperKey }
Tm3AttrIndexDumperKey = {$If Defined(XE4)}record{$Else}object{$IfEnd} // XE4
public
rAttrID: Integer;
rIsDirect: Boolean;
public
function Compare(const anOther: Tm3AttrIndexDumperKey): Integer;
end;//Tm3AttrIndexDumperKey
{$If not Defined(_ValueType_Defined_) }
{Tm3AttrIndexDumpersCache.}_ValueType_ = Im3AttrIndexDumper;
{$Define _ValueType_Defined_ }
{$Define _ValueType_IsInterface_ }
{$Define _ValueType_IsManaged_ }
{$Define _ValueType_IsAcceptableForScripts_ }
{$Define _ValueType_PublicatedInScripts_ }
{$IfEnd} // not Defined(_ValueType_Defined_)
{$If not Defined(_KeyType_Defined_) }
{Tm3AttrIndexDumpersCache.}_KeyType_ = Tm3AttrIndexDumperKey;
{$Define _KeyType_Defined_ }
{$Define _KeyType_IsRecord_ }
{$Define _KeyType_IsStaticObject_ }
{$Define _KeyType_IsManaged_ }
{$Define _KeyType_IsAcceptableForScripts_ }
{$Define _KeyType_PublicatedInScripts_ }
{$IfEnd} // not Defined(_KeyType_Defined_)
{$Define l3Items_IsProto}
{$Include l3Map_imp.pas}
{$If NOT Defined(l3HasNeTy)}
Tm3AttrIndexDumpersCache_KeyValuePair = KeyValuePair;
{$IfEnd} // NOT Defined(l3HasNeTy)
{$If NOT Defined(l3HasNeTy)}
Tm3AttrIndexDumpersCache_PValueType = PValueType;
{$IfEnd} // NOT Defined(l3HasNeTy)
{$If NOT Defined(l3HasNeTy)}
Tm3AttrIndexDumpersCache_PKeyValuePair = PKeyValuePair;
{$IfEnd} // NOT Defined(l3HasNeTy)
{$If NOT Defined(l3HasNeTy)}
Tm3AttrIndexDumpersCache_PKeyType = PKeyType;
{$IfEnd} // NOT Defined(l3HasNeTy)
{$If NOT Defined(l3HasNeTy)}
Tm3AttrIndexDumpersCache_PItemSlot = PItemSlot;
{$IfEnd} // NOT Defined(l3HasNeTy)
{$If NOT Defined(l3HasNeTy)}
Tm3AttrIndexDumpersCache_Enumerator = Enumerator;
{$IfEnd} // NOT Defined(l3HasNeTy)
{$If NOT Defined(l3HasNeTy)}
Tm3AttrIndexDumpersCache_PItemType = PItemType;
{$IfEnd} // NOT Defined(l3HasNeTy)
{$If NOT Defined(l3HasNeTy)}
Tm3AttrIndexDumpersCache_Enumerable = Enumerable;
{$IfEnd} // NOT Defined(l3HasNeTy)
{$If NOT Defined(l3HasNeTy)}
Tm3AttrIndexDumpersCache_PairEnumerator = PairEnumerator;
{$IfEnd} // NOT Defined(l3HasNeTy)
{$If NOT Defined(l3HasNeTy)}
Tm3AttrIndexDumpersCache_SEnumerator = SEnumerator;
{$IfEnd} // NOT Defined(l3HasNeTy)
{$If NOT Defined(l3HasNeTy)}
Tm3AttrIndexDumpersCache_RevertedSEnumerator = RevertedSEnumerator;
{$IfEnd} // NOT Defined(l3HasNeTy)
{$If NOT Defined(l3HasNeTy)}
Tm3AttrIndexDumpersCache_PFindItemType = PFindItemType;
{$IfEnd} // NOT Defined(l3HasNeTy)
{$If NOT Defined(l3HasNeTy)}
Tm3AttrIndexDumpersCache_l3TypedListPrim_AcceptsItemFunc = l3TypedListPrim_AcceptsItemFunc;
{$IfEnd} // NOT Defined(l3HasNeTy)
{$If NOT Defined(l3HasNeTy)}
Tm3AttrIndexDumpersCache_l3TypedListPrim_AcceptsItemEvent = l3TypedListPrim_AcceptsItemEvent;
{$IfEnd} // NOT Defined(l3HasNeTy)
{$If NOT Defined(l3HasNeTy)}
Tm3AttrIndexDumpersCache_l3TypedListPrim_Filter = l3TypedListPrim_Filter;
{$IfEnd} // NOT Defined(l3HasNeTy)
Tm3AttrIndexDumpersCache = class(_l3Map_)
public
{$If NOT Defined(l3NoSRT)}
function SetRefTo(var thePlace: Tm3AttrIndexDumpersCache): Boolean; overload; {$If Defined(l3HasInl)}inline;{$IfEnd}
{$IfEnd} // NOT Defined(l3NoSRT)
end;//Tm3AttrIndexDumpersCache
IBoxFor_Tm3AttrIndexDumperKey = interface(Il3Box)
['{3A8ED89A-A380-4BAF-A7A6-39B2E8EBFE11}']
function Get_Boxed: Tm3AttrIndexDumperKey;
function Get_pBoxed: Tm3AttrIndexDumperKeyPtr;
function Get_rAttrID: Integer;
function Get_rIsDirect: Boolean;
function Compare(const anOther: Tm3AttrIndexDumperKey): Integer; overload;
function Compare(const anOther: IBoxFor_Tm3AttrIndexDumperKey): Integer; overload;
property Boxed: Tm3AttrIndexDumperKey
read Get_Boxed;
property pBoxed: Tm3AttrIndexDumperKeyPtr
read Get_pBoxed;
property rAttrID: Integer
read Get_rAttrID;
property rIsDirect: Boolean
read Get_rIsDirect;
end;//IBoxFor_Tm3AttrIndexDumperKey
function Tm3AttrIndexDumperKey_C(anAttrID: Integer;
anIsDirect: Boolean): Tm3AttrIndexDumperKey;
function Tm3AttrIndexDumperKey_TypeInfo: PTypeInfo;
{$If NOT Defined(NoScripts)}
function Tm3AttrIndexDumperKey_ToValue(const aSelf: Tm3AttrIndexDumperKey): TtfwStackValue;
{$IfEnd} // NOT Defined(NoScripts)
{$If NOT Defined(NoScripts)}
function TtfwStackValue_C(const aSelf: Tm3AttrIndexDumperKey): TtfwStackValue; overload;
{$IfEnd} // NOT Defined(NoScripts)
{$If NOT Defined(NoScripts)}
function Tm3AttrIndexDumperKey_ToBox(const aSelf: Tm3AttrIndexDumperKey): Il3Box;
{$IfEnd} // NOT Defined(NoScripts)
{$If NOT Defined(NoScripts)}
function Tm3AttrIndexDumperKey_FromValue(const aValue: TtfwStackValue): Tm3AttrIndexDumperKey;
{$IfEnd} // NOT Defined(NoScripts)
implementation
uses
l3ImplUses
, l3BoxForStruct
{$If NOT Defined(NoScripts)}
, tfwReadonlyPropertyLike
{$IfEnd} // NOT Defined(NoScripts)
{$If NOT Defined(NoScripts)}
, tfwValueTypes
{$IfEnd} // NOT Defined(NoScripts)
{$If NOT Defined(NoScripts)}
, tfwScriptingInterfaces
{$IfEnd} // NOT Defined(NoScripts)
{$If NOT Defined(NoScripts)}
, tfwClassBinaryIntegerOperator
{$IfEnd} // NOT Defined(NoScripts)
{$If NOT Defined(NoScripts)}
, tfwClassCreator
{$IfEnd} // NOT Defined(NoScripts)
{$If NOT Defined(NoScripts)}
, tfwWordInfo
{$IfEnd} // NOT Defined(NoScripts)
{$If NOT Defined(NoScripts)}
, tfwAxiomaticsResNameGetter
{$IfEnd} // NOT Defined(NoScripts)
, l3PointerUtils
, l3MemUtils
, l3MinMax
, RTLConsts
, SysUtils
, Math
{$If NOT Defined(Linux)}
, Windows
{$Else NOT Defined(Linux)}
// using l3LinWindows instead of Windows
, l3LinWindows
{$IfEnd} // NOT Defined(Linux)
{$If NOT Defined(NoScripts)}
, TtfwTypeRegistrator_Proxy
{$IfEnd} // NOT Defined(NoScripts)
, l3String
{$If NOT Defined(NoScripts)}
, tfwTypeInfo
{$IfEnd} // NOT Defined(NoScripts)
{$If NOT Defined(NoScripts)}
, TtfwClassRef_Proxy
{$IfEnd} // NOT Defined(NoScripts)
{$If NOT Defined(NoScripts)}
, tfwRegisterableWordPrim
{$IfEnd} // NOT Defined(NoScripts)
, tfwCStringFactory
//#UC START# *69B54CEC0061impl_uses*
//#UC END# *69B54CEC0061impl_uses*
;
{$If NOT Defined(NoScripts)}
type
TBoxFor_Tm3AttrIndexDumperKey = {final} class(Tl3BoxForStruct, IBoxFor_Tm3AttrIndexDumperKey)
private
f_Boxed: Tm3AttrIndexDumperKey;
protected
function Compare(const anOther: Tm3AttrIndexDumperKey): Integer; overload;
function Compare(const anOther: IBoxFor_Tm3AttrIndexDumperKey): Integer; overload;
function Get_Boxed: Tm3AttrIndexDumperKey;
function Get_pBoxed: Tm3AttrIndexDumperKeyPtr;
function Get_rAttrID: Integer;
function Get_rIsDirect: Boolean;
function GetDataPtr: Pointer; override;
function GetDataSize: Integer; override;
function GetBoxTypeInfo: PTypeInfo; override;
function DoCompare(const anOther: Il3Box): Integer; override;
function GetAsPrintable(const aCtx: TtfwContextStub): Il3CString; override;
procedure ClearFields; override;
public
constructor Create(const aBoxed: Tm3AttrIndexDumperKey); reintroduce;
class function Make(const aBoxed: Tm3AttrIndexDumperKey): IBoxFor_Tm3AttrIndexDumperKey; reintroduce;
end;//TBoxFor_Tm3AttrIndexDumperKey
{$IfEnd} // NOT Defined(NoScripts)
{$If NOT Defined(NoScripts)}
type
TkwTm3AttrIndexDumperKeyRAttrID = TtfwReadonlyPropertyLike;
{* Слово скрипта m3AttrIndexDumperKey:rAttrID }
{$IfEnd} // NOT Defined(NoScripts)
{$If NOT Defined(NoScripts)}
type
TkwTm3AttrIndexDumperKeyRIsDirect = TtfwReadonlyPropertyLike;
{* Слово скрипта m3AttrIndexDumperKey:rIsDirect }
{$IfEnd} // NOT Defined(NoScripts)
{$If NOT Defined(NoScripts)}
type
TkwTm3AttrIndexDumperKeyCompare = TtfwClassBinaryIntegerOperator;
{* Слово скрипта m3AttrIndexDumperKey:Compare }
{$IfEnd} // NOT Defined(NoScripts)
{$If NOT Defined(NoScripts)}
type
TkwTm3AttrIndexDumperKeyC = TtfwClassCreator;
{* Слово скрипта m3AttrIndexDumperKey:C }
{$IfEnd} // NOT Defined(NoScripts)
{$If NOT Defined(NoScripts)}
type
TTm3AttrIndexDumperKeyKeywordsPackResNameGetter = {final} class(TtfwAxiomaticsResNameGetter)
{* Регистрация скриптованой аксиоматики }
public
class function ResName: AnsiString; override;
end;//TTm3AttrIndexDumperKeyKeywordsPackResNameGetter
{$IfEnd} // NOT Defined(NoScripts)
{$If NOT Defined(NoScripts)}
function TkwTm3AttrIndexDumperKeyRAttrID_Integer_ResultTypeInfo: TtfwValueTypes;
begin
Result := TtfwValueTypes.Make(TtfwTypeInfo.MakeInteger);
end;//TkwTm3AttrIndexDumperKeyRAttrID_Integer_ResultTypeInfo
{$IfEnd} // NOT Defined(NoScripts)
{$If NOT Defined(NoScripts)}
procedure TkwTm3AttrIndexDumperKeyRAttrID_DoIt(const aCtx: TtfwContext);
var l_aSelf: IBoxFor_Tm3AttrIndexDumperKey;
begin
try
l_aSelf := IBoxFor_Tm3AttrIndexDumperKey(aCtx.rEngine.Pop.AsIntf(TypeInfo(IBoxFor_Tm3AttrIndexDumperKey)));
except
on E: Exception do
begin
aCtx.GetParamError('aSelf: IBoxFor_Tm3AttrIndexDumperKey : ', E);
Exit;
end;//on E: Exception
end;//try..except
aCtx.rEngine.PushInt(l_aSelf.rAttrID, TypeInfo(Integer));
end;//TkwTm3AttrIndexDumperKeyRAttrID_DoIt
{$IfEnd} // NOT Defined(NoScripts)
{$If NOT Defined(NoScripts)}
function TkwTm3AttrIndexDumperKeyRIsDirect_Boolean_ResultTypeInfo: TtfwValueTypes;
begin
Result := TtfwValueTypes.Make(TtfwTypeInfo.MakeBoolean);
end;//TkwTm3AttrIndexDumperKeyRIsDirect_Boolean_ResultTypeInfo
{$IfEnd} // NOT Defined(NoScripts)
{$If NOT Defined(NoScripts)}
procedure TkwTm3AttrIndexDumperKeyRIsDirect_DoIt(const aCtx: TtfwContext);
var l_aSelf: IBoxFor_Tm3AttrIndexDumperKey;
begin
try
l_aSelf := IBoxFor_Tm3AttrIndexDumperKey(aCtx.rEngine.Pop.AsIntf(TypeInfo(IBoxFor_Tm3AttrIndexDumperKey)));
except
on E: Exception do
begin
aCtx.GetParamError('aSelf: IBoxFor_Tm3AttrIndexDumperKey : ', E);
Exit;
end;//on E: Exception
end;//try..except
aCtx.rEngine.PushBool(l_aSelf.rIsDirect);
end;//TkwTm3AttrIndexDumperKeyRIsDirect_DoIt
{$IfEnd} // NOT Defined(NoScripts)
{$If NOT Defined(NoScripts)}
procedure TkwTm3AttrIndexDumperKeyCompare_DoIt(const aCtx: TtfwContext);
var l_aSelf: IBoxFor_Tm3AttrIndexDumperKey;
var l_anOther: IBoxFor_Tm3AttrIndexDumperKey;
begin
try
l_aSelf := IBoxFor_Tm3AttrIndexDumperKey(aCtx.rEngine.Pop.AsIntf(TypeInfo(IBoxFor_Tm3AttrIndexDumperKey)));
except
on E: Exception do
begin
aCtx.GetParamError('aSelf: IBoxFor_Tm3AttrIndexDumperKey : ', E);
Exit;
end;//on E: Exception
end;//try..except
try
l_anOther := IBoxFor_Tm3AttrIndexDumperKey(aCtx.rEngine.Pop.AsIntf(TypeInfo(IBoxFor_Tm3AttrIndexDumperKey)));
except
on E: Exception do
begin
aCtx.GetParamError('anOther: IBoxFor_Tm3AttrIndexDumperKey : ', E);
Exit;
end;//on E: Exception
end;//try..except
aCtx.rEngine.PushInt(l_aSelf.Compare(l_anOther.pBoxed^), TypeInfo(Integer));
end;//TkwTm3AttrIndexDumperKeyCompare_DoIt
{$IfEnd} // NOT Defined(NoScripts)
{$If NOT Defined(NoScripts)}
function TkwTm3AttrIndexDumperKeyC_ParamsTypes: PTypeInfoArray;
begin
Result := TtfwWord.OpenTypesToTypes([TtfwParamInfo_C('anAttrID', TtfwTypeInfo.MakeInteger), TtfwParamInfo_C('anIsDirect', TtfwTypeInfo.MakeBoolean)]);
end;//TkwTm3AttrIndexDumperKeyC_ParamsTypes
{$IfEnd} // NOT Defined(NoScripts)
{$If NOT Defined(NoScripts)}
procedure TkwTm3AttrIndexDumperKeyC_DoIt(const aCtx: TtfwContext);
var l_anAttrID: Integer;
var l_anIsDirect: Boolean;
begin
try
l_anAttrID := aCtx.rEngine.PopInt(TypeInfo(Integer));
except
on E: Exception do
begin
aCtx.GetParamError('anAttrID: Integer : ', E);
Exit;
end;//on E: Exception
end;//try..except
try
l_anIsDirect := aCtx.rEngine.PopBool;
except
on E: Exception do
begin
aCtx.GetParamError('anIsDirect: Boolean : ', E);
Exit;
end;//on E: Exception
end;//try..except
aCtx.rEngine.Push(Tm3AttrIndexDumperKey_ToValue(Tm3AttrIndexDumperKey_C(l_anAttrID, l_anIsDirect)));
end;//TkwTm3AttrIndexDumperKeyC_DoIt
{$IfEnd} // NOT Defined(NoScripts)
function Tm3AttrIndexDumperKey_C(anAttrID: Integer;
anIsDirect: Boolean): Tm3AttrIndexDumperKey;
//#UC START# *69B54E6701EF_69B54D7F0058_var*
//#UC END# *69B54E6701EF_69B54D7F0058_var*
begin
System.FillChar(Result, SizeOf(Result), 0);
//#UC START# *69B54E6701EF_69B54D7F0058_impl*
Result.rAttrID := anAttrID;
Result.rIsDirect := anIsDirect;
//#UC END# *69B54E6701EF_69B54D7F0058_impl*
end;//Tm3AttrIndexDumperKey_C
function Tm3AttrIndexDumperKey_TypeInfo: PTypeInfo;
begin
Result := TypeInfo(IBoxFor_Tm3AttrIndexDumperKey);
end;//Tm3AttrIndexDumperKey_TypeInfo
{$If NOT Defined(NoScripts)}
function Tm3AttrIndexDumperKey_ToValue(const aSelf: Tm3AttrIndexDumperKey): TtfwStackValue;
begin
Result := TtfwStackValue_C(Tm3AttrIndexDumperKey_ToBox(aSelf), Tm3AttrIndexDumperKey_TypeInfo);
end;//Tm3AttrIndexDumperKey_ToValue
{$IfEnd} // NOT Defined(NoScripts)
{$If NOT Defined(NoScripts)}
function TtfwStackValue_C(const aSelf: Tm3AttrIndexDumperKey): TtfwStackValue;
begin
Result := TtfwStackValue_C(Tm3AttrIndexDumperKey_ToBox(aSelf), Tm3AttrIndexDumperKey_TypeInfo);
end;//TtfwStackValue_C
{$IfEnd} // NOT Defined(NoScripts)
{$If NOT Defined(NoScripts)}
function Tm3AttrIndexDumperKey_ToBox(const aSelf: Tm3AttrIndexDumperKey): Il3Box;
begin
Result := TBoxFor_Tm3AttrIndexDumperKey.Make(aSelf);
end;//Tm3AttrIndexDumperKey_ToBox
{$IfEnd} // NOT Defined(NoScripts)
{$If NOT Defined(NoScripts)}
function Tm3AttrIndexDumperKey_FromValue(const aValue: TtfwStackValue): Tm3AttrIndexDumperKey;
begin
System.FillChar(Result, SizeOf(Result), 0);
Result := IBoxFor_Tm3AttrIndexDumperKey(aValue.AsIntf(Tm3AttrIndexDumperKey_TypeInfo)).pBoxed^;
end;//Tm3AttrIndexDumperKey_FromValue
{$IfEnd} // NOT Defined(NoScripts)
{$If NOT Defined(NoScripts)}
function Tm3AttrIndexDumperKeyKeywordsPack_Tm3AttrIndexDumperKey_SelfTypeInfo: TtfwValueTypes;
begin
Result := TtfwValueTypes.MakeBox('Tm3AttrIndexDumperKey', Tm3AttrIndexDumperKey_TypeInfo);
end;//Tm3AttrIndexDumperKeyKeywordsPack_Tm3AttrIndexDumperKey_SelfTypeInfo
{$IfEnd} // NOT Defined(NoScripts)
function Tm3AttrIndexDumperKey.Compare(const anOther: Tm3AttrIndexDumperKey): Integer;
//#UC START# *69B54E9800BA_69B54D7F0058_var*
//#UC END# *69B54E9800BA_69B54D7F0058_var*
begin
//#UC START# *69B54E9800BA_69B54D7F0058_impl*
Result := l3CompareBool(Self.rIsDirect, anOther.rIsDirect);
if (Result = 0) then
Result := l3CompareInt(Self.rAttrID, anOther.rAttrID);
//#UC END# *69B54E9800BA_69B54D7F0058_impl*
end;//Tm3AttrIndexDumperKey.Compare
type _Instance_R_ = Tm3AttrIndexDumpersCache;
function CompareKeys(const aA: Tm3AttrIndexDumperKey;
const aB: Tm3AttrIndexDumperKey): Integer;
//#UC START# *5609091B00C0_69B54CEC0061_var*
//#UC END# *5609091B00C0_69B54CEC0061_var*
begin
//#UC START# *5609091B00C0_69B54CEC0061_impl*
Result := aA.Compare(aB);
//#UC END# *5609091B00C0_69B54CEC0061_impl*
end;//CompareKeys
{$Include l3Map_imp.pas}
{$If NOT Defined(l3NoSRT)}
function Tm3AttrIndexDumpersCache.SetRefTo(var thePlace: Tm3AttrIndexDumpersCache): Boolean;
begin
if (thePlace = Self) then
Result := false
else
begin
Result := true;
thePlace.Free;
thePlace := Self.Use;
end;//thePlace = Self
end;//Tm3AttrIndexDumpersCache.SetRefTo
{$IfEnd} // NOT Defined(l3NoSRT)
{$If NOT Defined(NoScripts)}
constructor TBoxFor_Tm3AttrIndexDumperKey.Create(const aBoxed: Tm3AttrIndexDumperKey);
begin
inherited Create;
f_Boxed := aBoxed;
end;//TBoxFor_Tm3AttrIndexDumperKey.Create
class function TBoxFor_Tm3AttrIndexDumperKey.Make(const aBoxed: Tm3AttrIndexDumperKey): IBoxFor_Tm3AttrIndexDumperKey;
var
l_Inst : TBoxFor_Tm3AttrIndexDumperKey;
begin
l_Inst := Create(aBoxed);
try
Result := l_Inst;
finally
l_Inst.Free;
end;//try..finally
end;//TBoxFor_Tm3AttrIndexDumperKey.Make
function TBoxFor_Tm3AttrIndexDumperKey.Compare(const anOther: Tm3AttrIndexDumperKey): Integer;
begin
Result := f_Boxed.Compare(anOther);
end;//TBoxFor_Tm3AttrIndexDumperKey.Compare
function TBoxFor_Tm3AttrIndexDumperKey.Compare(const anOther: IBoxFor_Tm3AttrIndexDumperKey): Integer;
begin
Assert(anOther <> nil);
Result := f_Boxed.Compare(anOther.pBoxed^);
end;//TBoxFor_Tm3AttrIndexDumperKey.Compare
function TBoxFor_Tm3AttrIndexDumperKey.Get_Boxed: Tm3AttrIndexDumperKey;
begin
Result := f_Boxed;
end;//TBoxFor_Tm3AttrIndexDumperKey.Get_Boxed
function TBoxFor_Tm3AttrIndexDumperKey.Get_pBoxed: Tm3AttrIndexDumperKeyPtr;
begin
Result := @f_Boxed;
end;//TBoxFor_Tm3AttrIndexDumperKey.Get_pBoxed
function TBoxFor_Tm3AttrIndexDumperKey.Get_rAttrID: Integer;
begin
Result := f_Boxed.rAttrID;
end;//TBoxFor_Tm3AttrIndexDumperKey.Get_rAttrID
function TBoxFor_Tm3AttrIndexDumperKey.Get_rIsDirect: Boolean;
begin
Result := f_Boxed.rIsDirect;
end;//TBoxFor_Tm3AttrIndexDumperKey.Get_rIsDirect
function TBoxFor_Tm3AttrIndexDumperKey.GetDataPtr: Pointer;
begin
Result := @f_Boxed;
end;//TBoxFor_Tm3AttrIndexDumperKey.GetDataPtr
function TBoxFor_Tm3AttrIndexDumperKey.GetDataSize: Integer;
begin
Result := SizeOf(f_Boxed);
end;//TBoxFor_Tm3AttrIndexDumperKey.GetDataSize
function TBoxFor_Tm3AttrIndexDumperKey.GetBoxTypeInfo: PTypeInfo;
begin
Result := TypeInfo(IBoxFor_Tm3AttrIndexDumperKey);
end;//TBoxFor_Tm3AttrIndexDumperKey.GetBoxTypeInfo
function TBoxFor_Tm3AttrIndexDumperKey.DoCompare(const anOther: Il3Box): Integer;
begin
Assert(anOther <> nil);
Assert(Self.BoxTypeInfo = anOther.BoxTypeInfo);
Result := Self.Compare(Tm3AttrIndexDumperKeyPtr(anOther.DataPtr)^);
end;//TBoxFor_Tm3AttrIndexDumperKey.DoCompare
function TBoxFor_Tm3AttrIndexDumperKey.GetAsPrintable(const aCtx: TtfwContextStub): Il3CString;
var
l_Value: AnsiString;
begin
l_Value := '(';
l_Value := l_Value + ' rAttrID: ';
l_Value := l_Value + IntToStr(f_Boxed.rAttrID);
l_Value := l_Value + ';';
l_Value := l_Value + ' rIsDirect: ';
l_Value := l_Value + BoolToStr(f_Boxed.rIsDirect, true);
l_Value := l_Value + ';';
l_Value := l_Value + ' )';
Result := TtfwCStringFactory.C(l_Value);
end;//TBoxFor_Tm3AttrIndexDumperKey.GetAsPrintable
procedure TBoxFor_Tm3AttrIndexDumperKey.ClearFields;
begin
Finalize(f_Boxed);
inherited;
end;//TBoxFor_Tm3AttrIndexDumperKey.ClearFields
{$IfEnd} // NOT Defined(NoScripts)
{$If NOT Defined(NoScripts)}
class function TTm3AttrIndexDumperKeyKeywordsPackResNameGetter.ResName: AnsiString;
begin
Result := 'Tm3AttrIndexDumperKeyKeywordsPack';
end;//TTm3AttrIndexDumperKeyKeywordsPackResNameGetter.ResName
{$R Tm3AttrIndexDumperKeyKeywordsPack.res}
{$IfEnd} // NOT Defined(NoScripts)
initialization
{$If NOT Defined(NoScripts)}
TkwTm3AttrIndexDumperKeyRAttrID.RegisterInEngine(TtfwRegisterContext_E
.SetSelfTypeInfo(Tm3AttrIndexDumperKeyKeywordsPack_Tm3AttrIndexDumperKey_SelfTypeInfo)
.SetResultTypeInfo(TkwTm3AttrIndexDumperKeyRAttrID_Integer_ResultTypeInfo)
.SetDoItProc(TkwTm3AttrIndexDumperKeyRAttrID_DoIt)
.SetMethodName('rAttrID'), ['m3AttrIndexDumperKey:rAttrID', '.Tm3AttrIndexDumperKey.rAttrID', 'pop:m3AttrIndexDumperKey:rAttrID']);
{$IfEnd} // NOT Defined(NoScripts)
{$If NOT Defined(NoScripts)}
TkwTm3AttrIndexDumperKeyRIsDirect.RegisterInEngine(TtfwRegisterContext_E
.SetSelfTypeInfo(Tm3AttrIndexDumperKeyKeywordsPack_Tm3AttrIndexDumperKey_SelfTypeInfo)
.SetResultTypeInfo(TkwTm3AttrIndexDumperKeyRIsDirect_Boolean_ResultTypeInfo)
.SetDoItProc(TkwTm3AttrIndexDumperKeyRIsDirect_DoIt)
.SetMethodName('rIsDirect'), ['m3AttrIndexDumperKey:rIsDirect', '.Tm3AttrIndexDumperKey.rIsDirect', 'pop:m3AttrIndexDumperKey:rIsDirect']);
{$IfEnd} // NOT Defined(NoScripts)
{$If NOT Defined(NoScripts)}
TkwTm3AttrIndexDumperKeyCompare.RegisterInEngine(TtfwRegisterContext_E
.SetSelfTypeInfo(Tm3AttrIndexDumperKeyKeywordsPack_Tm3AttrIndexDumperKey_SelfTypeInfo)
.SetDoItProc(TkwTm3AttrIndexDumperKeyCompare_DoIt)
.SetMethodName('Compare'), ['m3AttrIndexDumperKey:Compare', '.Tm3AttrIndexDumperKey.Compare', 'pop:m3AttrIndexDumperKey:Compare']);
{$IfEnd} // NOT Defined(NoScripts)
{$If NOT Defined(NoScripts)}
TkwTm3AttrIndexDumperKeyC.RegisterInEngine(TtfwRegisterContext_E
.SetSelfTypeInfo(Tm3AttrIndexDumperKeyKeywordsPack_Tm3AttrIndexDumperKey_SelfTypeInfo)
.SetParamsTypesFunc(TkwTm3AttrIndexDumperKeyC_ParamsTypes)
.SetDoItProc(TkwTm3AttrIndexDumperKeyC_DoIt)
.SetMethodName('C'), ['m3AttrIndexDumperKey:C', '.Tm3AttrIndexDumperKey.C']);
{$IfEnd} // NOT Defined(NoScripts)
{$If NOT Defined(NoScripts)}
TTm3AttrIndexDumperKeyKeywordsPackResNameGetter.Register;
{$IfEnd} // NOT Defined(NoScripts)
{$If NOT Defined(NoScripts)}
TtfwTypeRegistrator.RegisterType(TtfwValueTypes.MakeBox('Tm3AttrIndexDumperKey', Tm3AttrIndexDumperKey_TypeInfo));
{$IfEnd} // NOT Defined(NoScripts)
{$If NOT Defined(NoScripts)}
TtfwTypeRegistrator.RegisterType(TtfwTypeInfo.MakeInteger
, 'Целое число');
{$IfEnd} // NOT Defined(NoScripts)
{$If NOT Defined(NoScripts)}
TtfwTypeRegistrator.RegisterType(TtfwTypeInfo.MakeBoolean);
{$IfEnd} // NOT Defined(NoScripts)
//#UC START# *69B54CEC0061forDiagramm*
(*
*)
//#UC END# *69B54CEC0061forDiagramm*
end.
Заметки о тестировании, программировании и прочий "поток сознания", который жалко писать "в стол"
воскресенье, 12 апреля 2026 г.
m3AttrIndexDumpersCache
Подписаться на:
Комментарии к сообщению (Atom)
Комментариев нет:
Отправить комментарий