Einzelnen Beitrag anzeigen

Popov
(Gast)

n/a Beiträge
 
#42

Re: Registry-Probleme unter Vista

  Alt 28. Mär 2008, 17:55
Zitat von wido:
Hast Du Dir meinen Screenshot mal angesehen? Wenn TRegIniFile den Key, den Du definierst, nicht öffnen kann, schreibts die Daten einfach irgendwo hin. Will gar nicht wissen was passiert, wenn Du Werte mal löscht. Ob es dann auch einfach irgendwo rumdeleted? Allein deswegen würd ich meine Unit schnellstens überarbeiten. Denn offensichtlich tut sie Sachen, von denen Du gar nichts weißt .
Ich hab mir das angesehen mit Reg Monitor. Aber keine Angst, so ist es nicht. Hier zwei Beispiele aus der TRegIniFile:

Delphi-Quellcode:
constructor TRegIniFile.Create(const FileName: string; AAccess: LongWord);
begin
  inherited Create(AAccess);
  FFilename := FileName;
  OpenKey(FileName, True);
end;

procedure TRegIniFile.WriteString(const Section, Ident, Value: String);
var
  Key, OldKey: HKEY;
begin
  CreateKey(Section);
  Key := GetKey(Section);
  if Key <> 0 then
  try
    OldKey := CurrentKey;
    SetCurrentKey(Key);
    try
      inherited WriteString(Ident, Value);
    finally
      SetCurrentKey(OldKey);
    end;
  finally
    RegCloseKey(Key);
  end;
end;
Würdest du es besser machen? Ich mache ja keinem einen Vorwurf, aber das ist das was ich oben meinte. Jeder kann sich den Quellcode ansehen. Die Unit schreibt also nicht wahllos irgendwo etwas hin, sondern da wo es soll. Ich weiß nicht wo die Menge an Zugriffen kommt, aber garantiert nicht von TRegIniFile. Eventuell von API.
  Mit Zitat antworten Zitat