Forum: Algorithmen, Datenstrukturen und Klassendesign
by himitsu,
24. Okt 2020
Bei AddSubKey seh ich grade, dass Result garnicht zugewiesen wird, wenn der Key nicht existiert.
Da sollte der Compiler eigentlich auch eine Warnung werfen und es wäre besser, wenn du diese Fehler erstmal beseitigst.
Ich bin mir auch fast sicher, dass AddEntry/AddSubKey garnicht macht, weswegen man natürlich auch nichts finden kann und durch die fehlenden Indexprüfungen die nachfolgenden...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by himitsu,
24. Okt 2020
Entr kann nicht nil sein, da du niemals Nil setzt.
Es wird ausschließlich das Result gesetzt, also ist deine Prüfung falsch,
X := TKey(Keys.Keys).inThe.FindSubKey(Entr.Subkey, Entr);
//if X >= 0 then ... ja, nun rächt es sich, dass hier ein total unpraktisches Result "Count" rausgegeben wird, wenn nichts gefunden wurde
if X < TKey(Keys.Keys).inThe.Count then ... oder sowas
oder in...