Zugriff verweigert

  • VB.NET

Es gibt 49 Antworten in diesem Thema. Der letzte Beitrag () ist von Gugi.

    Kenne mich in der ini-Sektion nicht aus, aber kannst du die Datei nicht mit einem StreamWriter erstellen und da dann die Daten reinschreiben? Zum Beispiel:

    VB.NET-Quellcode

    1. Dim sw as New StreamWriter("D:\datei.ini")
    2. sw.Write(TextBox1.Text & ...)
    3. sw.WriteLine("Passwort: 1234")
    4. ' usw
    5. sw.Close


    Wichtig is das sw.Close, damit schließt du den StreamWriter und damit auch den Zugriff auf die Datei. Sollte so funktionieren...
    MfG
    Aber wenn ich jetzt eine Zeile damit schreibe und dann dan nochma was, überschreibt es das dann? weil ich wills ja auslesen? bsp:

    VB.NET-Quellcode

    1. sw.WriteLine("Passwort= 1234")
    2. 'und später dann
    3. sw.WriteLine("Passwort= 12345")


    wird das dann überschrieben und geändert oder einfach nur hinzugefügt?
    Liest (und versteht) überhaupt jemand die Dokumentation?

    MSDN schrieb:

    The system keeps a cached version of the most recent registry file mapping to improve performance. If all parameters are NULL, the function flushes the cache. While the system is editing the cached version of the file, processes that edit the file itself will use the original file until the cache has been cleared.

    Was sagt uns das? Ruf die Funktion mit "Nothing" für jeden Parameter (außer dem Dateinamen natürlich!) auf - damit wird die Datei freigegeben.

    Die ganzen anderen "Vorschläge" mit Adminrechten & Co sind Schwachsinn.

    Wir lernen daraus:
    - Die API ist nichts für Anfänger (der nächste Bug: Die neueren Systeme sind Unicode-basiert, hier wird ANSI verwendet -.-)
    - Die Dokumentation ist kostenlos, aber nicht umsonst!
    - Sie sollte nicht nur gelesen, sondern auch verstanden werden
    - Ohne Worte:
    Note This function is provided only for compatibility with 16-bit versions of Windows.
    Gruß
    hal2000
    aso, hab noch nie mit Nothing gearbeitet. hier der code:

    VB.NET-Quellcode

    1. Private Sub anlegen()
    2. INI_WriteValueToFile("Settings", "Passwort", TextBox2.Text, Application.StartupPath & "/" & TextBox1.Text & ".ini")
    3. INI_WriteValueToFile("Settings", "Name", TextBox1.Text, Application.StartupPath & "/" & TextBox1.Text & ".ini")
    4. INI_WriteValueToFile("Syno", "Alter", "1", Application.StartupPath & "/" & TextBox1.Text & ".ini")
    5. MsgBox("Der Account wurde erstellt")
    6. MsgBox("Bitte warten, Account wird gespeichert...")
    7. IsNothing(True)
    8. speichern()
    9. End Sub
    10. Private Sub speichern()
    11. Dim client As New Net.WebClient
    12. client.Credentials = New Net.NetworkCredential("name", "passwort")
    13. client.UploadFile(Application.StartupPath & "\" & TextBox1.Text & ".ini", "ftp://stepsel.bplaced.net/syno/82647391/" & Label5.Text & "/", TextBox1.Text & ".ini")
    14. End Sub

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Flipez“ ()

    Folgendes Beispiel zeigt dir wie IsNothing funktioniert.

    VB.NET-Quellcode

    1. Public Class Form1
    2. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    3. Dim test As Object = Nothing
    4. If (IsNothing(test)) Then
    5. Console.WriteLine("Test hat keinen wert")
    6. End If
    7. End Sub
    8. End Class