anchor.diff:    public
       constructor Create;
   
  -    procedure SaveToXMLElement (aXMLElement : TmXmlElement);
  -    procedure LoadFromXMLElement (const aXMLElement : TmXmlElement);
  +    procedure SaveToXMLElement (aXMLElement : TmXmlElement; const aCryptPassword : string);
  +    procedure LoadFromXMLElement (const aXMLElement : TmXmlElement; const aCryptPassword : string);
       procedure Assign (aSource : TmDatabaseConnectionInfo);
   
       property VendorType : TmDatabaseVendor read FVendorType write FVendorType;
  
positive.code: interface
  
  uses
    DB, Contnrs, SysUtils, Variants,
    mNullables, mXML;
  
  type
    TmDataConnectionException = class (Exception);
  
negative.code:   FExtraSettings:= '';
  end;
  
  procedure TmDatabaseConnectionInfo.SaveToXMLElement(aXMLElement: TmXmlElement; const aCryptPassword : string);
  begin
    aXMLElement.SetAttribute('vendorType', DatabaseVendorToString(Self.VendorType));
    aXMLElement.SetAttribute('server', Self.Server);
    aXMLElement.SetAttribute('databaseName', Self.DatabaseName);
    aXMLElement.SetAttribute('userName', Self.UserName);
    aXMLElement.SetAttribute('password', EncodeStringBase64(SillyCryptDecrypt(Self.Password, aCryptPassword)));
    aXMLElement.SetAttribute('extraSettings', Self.ExtraSettings);
    aXMLElement.SetBooleanAttribute('windowsIntegratedSecurity', Self.WindowsIntegratedSecurity);
  end;
  
  procedure TmDatabaseConnectionInfo.LoadFromXMLElement(const aXMLElement: TmXmlElement; const aCryptPassword : string);
  begin
    VendorType := StringToDatabaseVendor(aXMLElement.GetAttribute('vendorType'));
    Self.Server := aXMLElement.GetAttribute('server');
    Self.DatabaseName := aXMLElement.GetAttribute('databaseName');
    Self.UserName := aXMLElement.GetAttribute('userName');
    Self.Password := SillyCryptDecrypt(DecodeStringBase64(aXMLElement.GetAttribute('password')), aCryptPassword);
    Self.ExtraSettings := aXMLElement.GetAttribute('extraSettings');
    Self.WindowsIntegratedSecurity := aXMLElement.GetBooleanAttribute('windowsIntegratedSecurity');
  end;
  