Einzelnen Beitrag anzeigen

Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#12

Re: Probleme mit dem Aufruf von reg.ReadBinaryData

  Alt 9. Okt 2004, 17:40
Moin Chrissi,

ein wenig fehlt da aber, mal unabhängig von dem von Dir genannten Fehler.

Code:
begin
  { - Erzeugen und initialisieren - } 
  reg := TRegistry.Create;
  [color=red]try[/color]

    if ComboBox2.Text = 'Charakter wählen' Then Abort;
    if ComboBox2.Text = '' Then Abort;
    reg.RootKey := HKEY_CURRENT_USER;

    [color=red]if [/color]reg.OpenKey('Software\Vircom\T4C\'+ComboBox1.Text+'\Characters\'+ComboBox2.Text+'\Inventory\',FALSE) [color=red]then begin[/color]
      [color=red]try[/color]
        items[0] := reg.ReadInteger('ItemID'+IntToStr(1));
        memo1.Lines.Add(IntToStr(items[0]));
      [color=red]finally
        reg.CloseKey;
      end;  
    end;[/color]
  { - Aufräumen - } 
  [color=red]finally[/color]
    FreeAndNil(reg);
  [color=red]end;[/color]
end;
Einmal ein try/finally Block, um sicherzustellen, dass der vom Objekt belegte Speicher auch wieder freigegeben wird.
Dann muss ein geöffneter Key auch wieder geschlossen werden (zweiter try/finally Block), ausserdem solltest Du nur dann lesend zugreifen, wenn der Key auch wirklich geöffnet werden konnte (if/then)
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat