OpenFileDialog Problem

  • VB.NET

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von -patrick-.

    OpenFileDialog Problem

    Hallo,

    Ich habe folgendes Problem:

    Ich möchte eine Datei mit einem OpenFileDialog auswählen, dabei kommt allerdings immer die Fehlermeldung: "Es wurde versucht, im geschützten Speicher zu lesen oder zu schreiben. Dies ist häufig ein Hinweis darauf, dass anderer Speicher beschädigt ist."

    VB.NET-Quellcode

    1. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    2. openfiledialog1.Filter = "VB-Dateien|*.vb|XML-Dateien|*.xml|JavaScript Dateien|*.js|PHP Dateien|*.php|HTML Dateien|*.htm;*.html;*.shtml;*.shtm|C# Dateien|*.cs|C++ Dateien|*.cpp;*.c++|XHTML Dateien|*.xhtml;*.xhtm|Batch Dateien|*.bat|Alle Dateien|*.*"
    3. openfiledialog1.Multiselect = False
    4. If openfiledialog1.ShowDialog = DialogResult.OK Then
    5. If openfiledialog1.FileName Like "*.vb" Then
    6. TextBox2.Document.HighlightingStrategy = DigitalRune.Windows.TextEditor.Highlighting.HighlightingManager.Manager.FindHighlighter("VBNET")
    7. ElseIf openfiledialog1.FileName Like "*.xml" Then
    8. TextBox2.Document.HighlightingStrategy = DigitalRune.Windows.TextEditor.Highlighting.HighlightingManager.Manager.FindHighlighter("XML")
    9. ElseIf openfiledialog1.FileName Like "*.js" Then
    10. TextBox2.Document.HighlightingStrategy = DigitalRune.Windows.TextEditor.Highlighting.HighlightingManager.Manager.FindHighlighter("JavaScript")
    11. ElseIf openfiledialog1.FileName Like "*.php" Then
    12. TextBox2.Document.HighlightingStrategy = DigitalRune.Windows.TextEditor.Highlighting.HighlightingManager.Manager.FindHighlighter("PHP")
    13. ElseIf openfiledialog1.FileName Like "*.htm*" Or openfiledialog1.FileName Like "*.shtm*" Then
    14. TextBox2.Document.HighlightingStrategy = DigitalRune.Windows.TextEditor.Highlighting.HighlightingManager.Manager.FindHighlighter("HTML")
    15. ElseIf openfiledialog1.FileName Like "*.cs" Then
    16. TextBox2.Document.HighlightingStrategy = DigitalRune.Windows.TextEditor.Highlighting.HighlightingManager.Manager.FindHighlighter("C#")
    17. ElseIf openfiledialog1.FileName Like "*.c??" Then
    18. TextBox2.Document.HighlightingStrategy = DigitalRune.Windows.TextEditor.Highlighting.HighlightingManager.Manager.FindHighlighter("C++.NET")
    19. ElseIf openfiledialog1.FileName Like "*.xhtm*" Then
    20. TextBox2.Document.HighlightingStrategy = DigitalRune.Windows.TextEditor.Highlighting.HighlightingManager.Manager.FindHighlighter("ASP/XHTML")
    21. ElseIf openfiledialog1.FileName Like "*.bat" Then
    22. TextBox2.Document.HighlightingStrategy = DigitalRune.Windows.TextEditor.Highlighting.HighlightingManager.Manager.FindHighlighter("BAT")
    23. Else
    24. End If
    25. TextBox2.Text = File.ReadAllText(openfiledialog1.FileName)
    26. sfd.FileName = openfiledialog1.FileName
    27. Else
    28. Exit Sub
    29. End If
    30. End Sub

    Der Fehler tritt immer bei "If openfiledialog1.ShowDialog = DialogResult.OK Then" auf.

    Ich habe schon hier im Forum und bei Google gesucht aber bisher nichts gefunden :(
    schon mal dran gedacht in MSDN reich zu schauen:
    msdn.microsoft.com/en-us/libra…forms.openfiledialog.aspx
    da wird mit beispiel Code alles erklärt.....viel spaß ! ;)

    EDIT: zum anderen, kannst dir 20 if/end if sparen, das kannst viel einfacher lösen in dem du Select Case verwendest.
    Select Case: msdn.microsoft.com/en-us/library/cy37t14y%28VS.80%29.aspx

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „SystemUnknow“ ()

    erstmal danke für die links :)

    und

    Das Problem besteht weiterhin.

    Beim erstenmal starten funktioniert noch alles, openfiledialog öffnet sich, datei kann geöffnet werden usw.

    Aber beim nächstenmal starten kommt dann wieder "Es wurde versucht, im geschützten Speicher zu lesen oder zu schreiben. Dies ist häufig ein Hinweis darauf, dass anderer Speicher beschädigt ist."

    Der neue code sieht nun so aus:

    VB.NET-Quellcode

    1. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    2. openfiledialog1.Filter = "VB-Dateien|*.vb|XML-Dateien|*.xml|JavaScript Dateien|*.js|PHP Dateien|*.php|HTML Dateien|*.htm;*.html;*.shtml;*.shtm|C# Dateien|*.cs|C++ Dateien|*.cpp;*.c++|XHTML Dateien|*.xhtml;*.xhtm|Batch Dateien|*.bat|Alle Dateien|*.*"
    3. openfiledialog1.Multiselect = False
    4. Dim FileName As String
    5. If openfiledialog1.ShowDialog = System.Windows.Forms.DialogResult.OK Then
    6. FileName = openfiledialog1.FileName
    7. Select Case FileName
    8. Case "vb"
    9. TextBox2.Document.HighlightingStrategy = DigitalRune.Windows.TextEditor.Highlighting.HighlightingManager.Manager.FindHighlighter("VBNET")
    10. Case "xml"
    11. TextBox2.Document.HighlightingStrategy = DigitalRune.Windows.TextEditor.Highlighting.HighlightingManager.Manager.FindHighlighter("XML")
    12. Case "js"
    13. TextBox2.Document.HighlightingStrategy = DigitalRune.Windows.TextEditor.Highlighting.HighlightingManager.Manager.FindHighlighter("JavaScript")
    14. Case "php"
    15. TextBox2.Document.HighlightingStrategy = DigitalRune.Windows.TextEditor.Highlighting.HighlightingManager.Manager.FindHighlighter("PHP")
    16. Case "html"
    17. TextBox2.Document.HighlightingStrategy = DigitalRune.Windows.TextEditor.Highlighting.HighlightingManager.Manager.FindHighlighter("HTML")
    18. Case "htm"
    19. TextBox2.Document.HighlightingStrategy = DigitalRune.Windows.TextEditor.Highlighting.HighlightingManager.Manager.FindHighlighter("HTML")
    20. Case "shtml"
    21. TextBox2.Document.HighlightingStrategy = DigitalRune.Windows.TextEditor.Highlighting.HighlightingManager.Manager.FindHighlighter("HTML")
    22. Case "shtm"
    23. TextBox2.Document.HighlightingStrategy = DigitalRune.Windows.TextEditor.Highlighting.HighlightingManager.Manager.FindHighlighter("HTML")
    24. Case "cs"
    25. TextBox2.Document.HighlightingStrategy = DigitalRune.Windows.TextEditor.Highlighting.HighlightingManager.Manager.FindHighlighter("C#")
    26. Case "cpp"
    27. TextBox2.Document.HighlightingStrategy = DigitalRune.Windows.TextEditor.Highlighting.HighlightingManager.Manager.FindHighlighter("C++.NET")
    28. Case "c++"
    29. TextBox2.Document.HighlightingStrategy = DigitalRune.Windows.TextEditor.Highlighting.HighlightingManager.Manager.FindHighlighter("C++.NET")
    30. Case "xhtml"
    31. TextBox2.Document.HighlightingStrategy = DigitalRune.Windows.TextEditor.Highlighting.HighlightingManager.Manager.FindHighlighter("ASP/XHTML")
    32. Case "xhtm"
    33. TextBox2.Document.HighlightingStrategy = DigitalRune.Windows.TextEditor.Highlighting.HighlightingManager.Manager.FindHighlighter("ASP/XHTML")
    34. Case "bat"
    35. TextBox2.Document.HighlightingStrategy = DigitalRune.Windows.TextEditor.Highlighting.HighlightingManager.Manager.FindHighlighter("BAT")
    36. Case Else
    37. End Select
    38. TextBox2.Text = File.ReadAllText(openfiledialog1.FileName)
    39. sfd.FileName = openfiledialog1.FileName
    40. Else
    41. Exit Sub
    42. End If
    43. End Sub


    und auch wiedre bei "If openfiledialog1.ShowDialog = System.Windows.Forms.DialogResult.OK Then" :(

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