anchor.diff:      function GetData: Pointer;
       function GetAt(iIndex: Integer): Pointer;
     public
  -    class function CppCreate(iElementSize: Integer; iPreallocSize: Integer = 0): CStdValArray;
  -    procedure CppDestroy;
  +    class function CppCreate(iElementSize: Integer; iPreallocSize: Integer = 0): CStdValArray; deprecated 'use Create';
  +    procedure CppDestroy; deprecated 'use Free';
  +    class function Create(iElementSize: Integer; iPreallocSize: Integer = 0): CStdValArray;
  +    procedure Free;
       procedure Empty;
       function IsEmpty: Boolean;
       function Add(pData: LPCVOID): Boolean;
  
positive.code: 
    CDialogBuilder = class
    public
      class function CppCreate: CDialogBuilder;
      procedure CppDestroy;
      function Create(xml: string; AType: string = ''; pCallback: IDialogBuilderCallback = nil; pManager: CPaintManagerUI = nil; pParent: CControlUI = nil): CControlUI; overload;
      function Create(pCallback: IDialogBuilderCallback = nil; pManager: CPaintManagerUI = nil; pParent: CControlUI = nil): CControlUI; overload;
      function GetMarkup: CMarkup;
  
negative.code:   Delphi_StdValArray_CppDestroy(Self);
  end;
  
  class function CStdValArray.Create(iElementSize,
    iPreallocSize: Integer): CStdValArray;
  begin
    Result := CppCreate(iElementSize, iPreallocSize);
  end;
  
  procedure CStdValArray.Empty;
  begin
    Delphi_StdValArray_Empty(Self);
  end;
  
  procedure CStdValArray.Free;
  begin
    CppDestroy;
  end;
  
  function CStdValArray.IsEmpty: Boolean;
  