spiegel-keyman/common/windows/delphi/vcl/ErrorControlledRegistry.pas

62 lines
1.9 KiB
ObjectPascal

(*
Name: ErrorControlledRegistry
Copyright: Copyright (C) SIL International.
Documentation:
Description:
Create Date: 12 Oct 2007
Modified Date: 26 Jun 2012
Authors: mcdurdin
Related Files:
Dependencies:
Bugs:
Todo:
Notes:
History: 12 Oct 2007 - mcdurdin - Initial version
03 May 2011 - mcdurdin - I2890 - Record diagnostic data when encountering registry errors, include WideString support
04 May 2012 - mcdurdin - I3308 - V9.0 - Start to move towards Delphi namespaces
18 May 2012 - mcdurdin - I3309 - V9.0 - Migrate to Delphi XE2, VS2010, svn 1.7
26 Jun 2012 - mcdurdin - I3383 - KM9 - ErrorControlledRegistry is obsolete
*)
// Add error management
{ *********************************************************************** }
{ }
{ Delphi Runtime Library }
{ }
{ Copyright (c) 1995-2004 Borland Software Corporation }
{ }
{ *********************************************************************** }
unit ErrorControlledRegistry; // I3309
{$R-,T-,H+,X+}
interface
uses
System.Win.Registry;
type
TRegistryErrorControlled = class(TRegistry)
public
procedure RaiseLastRegistryError(const msg: string = '');
end;
implementation
uses
System.SysUtils;
{ TRegistryErrorControlled }
procedure TRegistryErrorControlled.RaiseLastRegistryError(const msg: string);
begin
if msg = ''
then raise ERegistryException.Create(LastErrorMsg + ' ('+IntToHex(LastError,8)+')')
else raise ERegistryException.Create(msg + #13#10 + LastErrorMsg + ' ('+IntToHex(LastError,8)+')');
end;
end.