Hallo Markus,
Also ich bekomme keine Fehlermeldung sondern der Eintrag wird
feinfach nur nicht gelöscht!
ich benutzte Win 2000. Ich kann einen Eintrag erzeugen, den
Wert ändern; nur löschen lässt er sich nicht!
Aha. Dann würde ich an Deiner Stelle folgendes ausprobieren:
regist.OpenKey(‚Software\MeineFirma\MeinProgramm\1.0‘,
true);
regist.DeleteKey(‚MeineFirma‘);
„Meine Firma“ steht nun mitten im Pfad. Du erwartest wahrscheinlich, daß die Unterschlüssel „MeinProgramm“ und „1.0“ automatisch mitgelöscht werden. Vielleicht ist das jedoch beim DeleteKey-Befehl überhaupt nicht vorgesehen. Um das zu checken, würde ich einfach mal einen einzigen „Test-Schlüssel“ irgendwo anlegen und dann versuchen, den zu löschen. Da der ja dann das „Pfadende“ ist, sollte das funktionieren.
Weiterer Vorschlag: „OpenKey“ und „DeleteKey“ sind Funktionen, die [nicht] TRUE zurückliefern, wenn sie [nicht] erfolgreich waren. Ich würde deshalb den obigen Code modifizieren zu
r := regist.OpenKey(‚Software\MeineFirma\MeinProgramm\1.0‘,
true);
r := regist.DeleteKey(‚MeineFirma‘);
(r = boolsche Variable), das Codestück im Einzelschrittmodus durchlaufen und mir angucken, was r für Werte zugewiesen bekommt.
Vielleicht setzt Du meine Tipps um und postest anschließend hier, was dabei rausgekommen ist.
MfG
Martin