anchor.diff:    if (SL.Count > 0) or FileExists(FILE_PATH) then
       SL.SaveToFile(FILE_PATH{$IFDEF WDC}, TEncoding.UTF8{$ENDIF});
     SL.Free;
  -end;
  -
  -
  -procedure TKMKeyLibraryMulti.Load(aStream: TKMemoryStream);
  -var
  -  I,K: Integer;
  -  KCount, aKeyCount: Integer;
  -  curK: AnsiString;
  -  Tmp: String;
  -begin
  -  SetLength(fKeys, 1);
  -
  -  aStream.Read(KCount);
  -  for I := 0 to KCount - 1 do
  -  begin
  -    aStream.ReadA(curK);
  -    aStream.Read(aKeyCount);
  -
  -    SetLength(fKeys, aKeyCount);
  -    for K := 0 to aKeyCount - 1 do
  -      aStream.Read(fKeys[K]);
  -  end;
   end;
   
   
  
positive.code:     function HasKey(aIndex: Word): Boolean;
      function GetCharFromVK(aKey: Word): String;
      property Keys[aIndex: Word]: Integer read GetKeys; default;
      procedure Save(aStream: TKMemoryStream);
      procedure SaveKey(aKeyID: Integer; aKeyValue: Word);
      procedure Load(aStream: TKMemoryStream);
    end;
  
  var
  
negative.code: end;
  
  
  procedure TKMKeyLibraryMulti.SaveKey(aKeyID: Integer; aKeyValue: Word);
  var
    SL: TStringList;
  