I saw a new implementation of TRegistry in the trunk (revision 41273) and could not resist to fix it (new version attached).
===In all===
Fixed: Excluded annoying hint for unused parameters
===regini.inc===
Fixed: TRegIniFile.ReadSectionValues check value type before read it as string to exclude runtime errors
===registry.pp===
Fixed: TRegistry LoadKey, ReplaceKey, RestoreKey, SaveKey, UnloadKey, MoveKey tag as unimplemented
Fixed: TRegistry.WriteBinaryData, append const to Buffer param, now accept const buffers too
Fixed: TRegistry WriteDate and WriteTime set inline to code WriteDateTime, because it do the same
Fixed: TRegistry.CloseKey set as class and static, because it's not used Self
Fixed: TRegistryIniFile ReadBinaryStream, WriteBinaryStream, UploadFile tag as unimplemented
Fixed: TRegistry.Create micro optimization: exclude zeroing fields (already done in constructor and documented)
Fixed: TRegistry Create, GetData, PutData, ReadString move raise to internal procedure - speed optimization
Fixed: TRegistry GetDataType, GetDataSize call SysGetData directly, exclude unnecessary checks - speed optimization
Fixed: TRegistry ReadBinaryData, ReadInteger, ReadInt64, ReadStringList move raise to separate procedure - speed and size (used more than ones) optimization
Fixed: TRegistry ReadDate and ReadTime call ReadDateTime with Trunc or Frac - size optimization
Fixed: TRegistry.ReadString use local var to exclude multiple call of Length
Fixed: TRegistry.ReadString exclude / and round for integers value, use div
Fixed: TRegistry.ReadString use string(U) instead of Utf8Encode(U) to work with or without LCL
Fixed: TRegistry.ReadStringList unicode support
Fixed: TRegistry ReadStringList, WriteStringList use AList.LineBreak, not global LineEnding
Fixed: TRegistry.WriteExpandString use UnicodeString(Value) instead of Utf8Decode(U) to work with or without LCL
Fixed: TRegistry.WriteStringList unicode support
Fixed: TRegistry.WriteString use UnicodeString(Value) instead of Utf8Decode(U) to work with or without LCL
Fixed: TRegistry DeleteValue, SysGetData, SysPutData, ReadString, ReadStringList API support nil, so change typecast from UnicodeChar(U), to Pointer(U) - speed optimization
Fixed: internal PrepKey rename to Normalize and return UnicodeString, not PChar, and change anywhere Utf8Encode(PChar(PrepKey(...))) to Normalize(...) - speed optimization and work with or without LCL
Code style refactor according coding style from
http://wiki.freepascal.org/DesignGuidelinesIf I post in bugtracker, the admins, as usual, will ignore, because a lot of changes