Warum funktioniert in VB.NET 2003 DeleteSetting("aptit", "xkey") nicht, obwohl die MS-Dokumentation diesen Weg zum Löschen des gesamten Ordners empfiehlt?

Antwort

In VB.NET 2003 (also .NET Framework 1.1) bezieht sich `DeleteSetting` auf die Interaktion mit der Windows-Registry, genauer gesagt auf die `Microsoft.VisualBasic.Interaction.DeleteSetting`-Methode. Die Syntax ist: ```vb DeleteSetting(appname, section, [key]) ``` Laut [Microsoft-Dokumentation](https://learn.microsoft.com/de-de/dotnet/api/microsoft.visualbasic.interaction.deletesetting) gilt: - **appname**: Name der Anwendung (entspricht dem Registry-Hauptschlüssel). - **section**: Name des Abschnitts (entspricht einem Unterschlüssel). - **key** (optional): Name des Schlüssels (entspricht einem Wert). **Verhalten:** - Wenn du nur `appname` und `section` angibst, wird der gesamte Abschnitt (also der Unterschlüssel) gelöscht. - Wenn du zusätzlich `key` angibst, wird nur dieser Wert gelöscht. **Dein Beispiel:** ```vb DeleteSetting("aptit", "xkey") ``` Das sollte laut Dokumentation den gesamten Abschnitt `"xkey"` unter `"aptit"` löschen. **Mögliche Gründe, warum es nicht funktioniert:** 1. **Falscher Registry-Pfad:** `DeleteSetting` arbeitet mit folgendem Pfad: `HKEY_CURRENT_USER\Software\VB and VBA Program Settings\<appname>\<section>` Prüfe, ob die Daten wirklich dort stehen. 2. **Fehlende Berechtigungen:** In seltenen Fällen fehlen Schreibrechte auf die Registry. 3. **Abschnitt existiert nicht:** Wenn der Abschnitt `"xkey"` nicht existiert, passiert nichts. 4. **Verwechslung mit `key`-Parameter:** Wenn du `DeleteSetting("aptit", "xkey", "irgendeinKey")` verwendest, wird nur der Wert `"irgendeinKey"` gelöscht, nicht der ganze Abschnitt. 5. **Verwendung von .NET-Settings:** Wenn du Einstellungen nicht mit `SaveSetting`/`GetSetting` geschrieben hast, sondern z.B. mit eigenen Methoden oder .NET-Settings, funktioniert `DeleteSetting` nicht. **Fazit:** - Stelle sicher, dass die Daten mit `SaveSetting` geschrieben wurden. - Prüfe den Registry-Pfad. - Verwende exakt `DeleteSetting("aptit", "xkey")`, um den Abschnitt zu löschen. - Kontrolliere, ob der Abschnitt nach dem Aufruf wirklich noch existiert (z.B. mit `regedit`). **Weitere Infos:** - [Microsoft Dokumentation zu DeleteSetting](https://learn.microsoft.com/de-de/dotnet/api/microsoft.visualbasic.interaction.deletesetting) Falls das Problem weiterhin besteht, kann es an einem Bug oder einer Besonderheit der Umgebung liegen. In diesem Fall hilft oft ein Blick in die Registry mit `regedit`, um den tatsächlichen Zustand zu prüfen.

KI fragen

Verwandte Fragen

Warum erzeugt thumb.Dispose() in VB.NET 2003 nach Verwendung den Fehler 'ungültige Parameter verwendet'?

Der Fehler „Ungültige Parameter verwendet“ beim Aufruf von `thumb.Dispose()` in VB.NET 2003 (bzw. .NET Framework 1.1) tritt häufig auf, wenn das `thumb`-Objekt (vermutlich ein `S... [mehr]

Wann und wie muss man in VB.NET 2003 ein erstelltes Thumbnail disposen?

In VB.NET 2003 (also .NET Framework 1.1) ist das Ressourcenmanagement bei Objekten wie Bildern und Thumbnails besonders wichtig, da diese oft nicht verwaltete Ressourcen (z.B. GDI-Handles) verwenden.... [mehr]

Wie erstelle ich in VB.NET 2003 ein Thumbnail eines Bildes zur Weiterverwendung?

Um in VB.NET 2003 ein Thumbnail eines Bildes zu erstellen und zur Weiterverwendung bereitzustellen, kannst du die Methoden der `System.Drawing`-Bibliothek nutzen. Hier ein einfaches Beispiel, wie du e... [mehr]

Was ist der Unterschied zwischen frm.Resize und frm.SizeChanged in VB.NET 2003?

In VB.NET 2003 gibt es einen wichtigen Unterschied zwischen den Ereignissen `Resize` und `SizeChanged` eines Formulars (`Form`): **1. Resize-Ereignis (`frm.Resize`):** - Dieses Ereignis wird ausgel&o... [mehr]

Was ist das Gegenteil von Path.Combine(...) in VB.NET 2003?

In VB.NET 2003 ist das Gegenteil von `Path.Combine(...)` das Zerlegen eines zusammengesetzten Dateipfads in seine Einzelteile (Verzeichnisse und Dateiname). Während `Path.Combine` mehrere Teile z... [mehr]

Gibt es ‚Path.GetFileName‘ in VB.NET 2003?

Richtig, in VB.NET 2003 (also .NET Framework 1.1) gibt es die Methode `Path.GetFileName` bereits, aber möglicherweise hast du einen Fehler im Code oder im Import der Namespaces. So funktioniert... [mehr]

Gibt es fertigen Code für einen selbstgebauten FileDialog in VB.NET 2003 und wie lautet dieser?

Für VB.NET 2003 gibt es keinen offiziellen, fertigen Code für einen komplett selbstgebauten FileDialog, da normalerweise der Standarddialog (`OpenFileDialog`, `SaveFileDialog`) verwendet wir... [mehr]

Gibt es einen Weg, die Dateiansicht (View) aus einer VB.NET 2003-App heraus zu ändern?

Ja, es ist möglich, die Dateiansicht (View) eines Datei-Dialogs (z. B. OpenFileDialog oder SaveFileDialog) in einer VB.NET 2003-Anwendung zu ändern – allerdings nur mit Einschränk... [mehr]

Kann man in der IDE von VB.NET 2023 nachträglich den Namen der zu kompilierenden EXE-Datei ändern?

Ja, in der IDE von VB.NET (Visual Studio) kannst du den Namen der zu kompilierenden EXE-Datei nachträglich ändern. Das geht folgendermaßen: 1. **Projektmappen-Explorer öffnen:**... [mehr]

Warum werden ä, ö, ü und ß beim Speichern einer RichTextBox in VB.NET 2003 als type.plaintext nicht korrekt gespeichert?

Das Problem, dass deine `RichTextBox` in VB.NET 2003 beim Speichern als `type.plaintext` die Zeichen **ä, ö, ü** und **ß** „verschluckt“, liegt sehr wahrscheinlich an... [mehr]