anchor.diff:  interface
   
   uses
  -  DB, Contnrs, SysUtils, Variants,
  -  mNullables, mXML;
  +  DB, Contnrs, SysUtils, Variants, {$IFDEF FPC}base64,{$ELSE}EncdDecd, {$ENDIF}
  +  mNullables, mXML, mUtility;
   
   type
     TmDataConnectionException = class (Exception);
  
positive.code:   FExtraSettings:= '';
  end;
  
  procedure TmDatabaseConnectionInfo.SaveToXMLElement(aXMLElement: TmXmlElement);
  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', Self.Password);
    aXMLElement.SetAttribute('extraSettings', Self.ExtraSettings);
    aXMLElement.SetBooleanAttribute('windowsIntegratedSecurity', Self.WindowsIntegratedSecurity);
  end;
  
  procedure TmDatabaseConnectionInfo.LoadFromXMLElement(const aXMLElement: TmXmlElement);
  begin
    VendorType := StringToDatabaseVendor(aXMLElement.GetAttribute('vendorType');
    Self.Server := aXMLElement.GetAttribute('server');
    Self.DatabaseName := aXMLElement.GetAttribute('databaseName');
    Self.UserName := aXMLElement.GetAttribute('userName');
    Self.Password := aXMLElement.GetAttribute('password');
    Self.ExtraSettings := aXMLElement.GetAttribute('extraSettings');
    Self.WindowsIntegratedSecurity := aXMLElement.GetBooleanAttribute('windowsIntegratedSecurity');
  end;
  
negative.code:   public
      constructor Create;
  
      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;
  