2016-12-01 1 views
0

J'ai des problèmes avec la déclaration d'un fichier de chemin d'accès par défaut au démarrage.
Chaque fois que j'exécute le programme, il est dit que pathFile est null. Est-ce que quelqu'un sait ce que j'ai besoin de changer dans mon code?Problème avec OnLoad Sub (Visual Basic)

Imports System 
Imports System.IO 
Imports System.Text 

Public Class GlobalVariables 
    Public Shared pathFile As String 
End Class 

Public Class Form1 
    Protected Overridable Sub OnLoad(e As EventArgs) 
     GlobalVariables.pathFile = My.Computer.FileSystem.SpecialDirectories.Desktop 
    End Sub 

    Private Sub btnSave_Click(sender As Object, e As EventArgs) Handles btnSave.Click 
     ' create or overwrite the file 
     Dim fs As FileStream = File.Create(GlobalVariables.pathFile) 

     ' add text to file 
     Dim info As Byte() = New UTF8Encoding(True).GetBytes(rtbText.Text) 
     fs.Write(info, 0, info.Length) 
     fs.Close() 
    End Sub 
End Class 

Merci d'avance!
- Code de Xaaf

Répondre

1

Au lieu d'essayer de passer outre OnLoad (ce qui serait Overrides au lieu de Overridable), je gérer l'événement de charge:

Private Sub Form_Load(sender As Object, e As System.EventArgs) Handles Me.Load 
    GlobalVariables.pathFile = My.Computer.FileSystem.SpecialDirectories.Desktop 
End Sub 

Vous pourriez probablement définir la valeur où pathFile est déclarée à la place:

Public Class GlobalVariables 
    Public Shared pathFile As String = My.Computer.FileSystem.SpecialDirectories.Desktop 
End Class 
+0

Je reçois une erreur indiquant que l'accès au chemin est refusé. Ceci est à la 'Dim fs As FileStream = Fichier.Créer (GlobalVariables.pathFile) ' –

+0

@XaafCode Eh bien, ce n'est pas vraiment lié à votre question, mais [' File.Create'] (https://msdn.microsoft. com/fr-fr/library/d62kzs03 (v = vs.110) .aspx) "crée ou écrase un fichier dans le chemin spécifié", et le chemin que vous spécifiez est votre répertoire de bureau qui n'est pas un fichier et existe déjà, donc obtenir l'accès refusé est probablement une bonne chose! :-) – Mark

+0

Oh, merci! Je n'y pensais pas vraiment! :RÉ –