2013-05-17 3 views
0

Эй, ребята, я пытаюсь немного очистить файл формы, добавив внешние классы, но я столкнулся с проблемой. Он говорит, что я не возвращаю значение, и я получу нулевое исключение.Попытка прочитать функцию из внешнего файла

Вот функция:

Public Function writeData() 
    Dim writeFile As StreamWriter = File.CreateText("C:\Users\Nick\documents\visual studio 2010\Projects\LoginFixed\Accounts\" + frmLogin.txtCUser.Text) 
    writeFile.WriteLine("User: " + frmLogin.txtCUser.Text) ' user 
    writeFile.WriteLine("Pass: " + frmLogin.txtCPass.Text) ' pass 
    writeFile.WriteLine("E-mail: " + frmLogin.txtEmail.Text) ' e-mail 
    writeFile.WriteLine("Securite Question 1: " + frmLogin.ComboBox1.Text) 
    writeFile.WriteLine("-------------------") 
    writeFile.Close() 
End Function 

Как я могу вернуть какой-либо ценности здесь, когда все, что я делаю, пишу данные?

Edit:

Вызов этого, когда кнопка cliked:

Dim userData As WriteUserData 
    userData.writeData() 

Но он говорит USERDATA используется до того, как было присвоено значение.

+0

Является userData файлом класса или формой –

ответ

0

Измените свой вызывающий код:

Dim userData As New WriteUserData 
userData.writeData() 

Я предполагаю, WriteUserData это класс, и вы не инстанцирование формы перед использованием. Ключевое слово New создаст экземпляр.

0

Разве вам не нужно ничего не возвращать? Используйте Sub вместо Function:

Public Sub WriteData() 
    (...) 
End Sub 

Редактировать благодаря Редактировать

Где объявлен WriteData? Это в собственном Form или это в другом классе?

Если этот метод в собственной форме, что вы для обработки нажатия кнопок, вы должны писать только в вашем обработчик события Sub:

Private Sub button1_Click(sender as Object, e as EventArgs) Handles button1.Click 
    Me.writeData() 
End Sub 

В противном случае @ ответ Майк должен решить вашу проблему.

+0

Затем, когда я назначаю его в классе формы, он говорит, что он использовался до того, как ему было присвоено значение. – Programming16

+0

Измените свой вопрос и опубликуйте код, генерирующий это предупреждение. Я предполагаю (не могу пойти дальше), что вы присваиваете «результат» записи «writeData» какой-либо переменной, тогда как вы должны ее вызывать. –

+0

Я вызываю его, когда нажимается кнопка: Dim userData As WriteUserData userData.writeData() – Programming16

Смежные вопросы