Es ist ja nicht falsch es dennoch zu machen
Delphi-Quellcode:
VAR
Registry : TRegistry;
WriteReportToRegistry : Boolean;
begin
WriteReportToRegistry := True;
Registry := TRegistry.Create;
Registry.RootKey := HKEY_LOCAL_MACHINE;
if Registry.KeyExists('\Software\SysIT\Nails4You') = False then
Try
Registry.CreateKey('\Software\SysIT\Nails4You');
Except
Registry.Free;
WriteReportToRegistry := False;
///// 1 /////
Registry.WriteString ('Mandant', DBEdit_MandantNr.Text);
Exit;
END;
Try
if Registry.OpenKey('\Software\SysIT\Nails4You', True) = True then
Registry.WriteString ('Mandant', DBEdit_MandantNr.Text)
ELSE
Begin
MessageDLG('Es konnte nicht in die Registry geschrieben werden', mtError, [mbOK], 0);
///// 2 /////
Registry.WriteString (DBEdit_MandantNr.Text, DSN);
End;
Finally
Registry.CloseKey;
Registry.free;
End;
1: Der Key konnte nicht erstellt werden, Registry wurde auch schon freigegeben ... wie soll da jetzt eigentlich das WriteString ausgeführt werden?
2: Der Key konnte nicht geöffnet werden ... wohin will da WriteString denn nun schreiben?
3: Man prüft/vergleicht nicht auf True oder False.
Delphi-Quellcode:
if not Registry.KeyExists(...) = then
if Registry.OpenKey(...) then