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)