Моя программа vb.net загружается с ClassA. Во время запуска программы я вызываю класс B, который выполняет некоторые процессы. во время обработки ClassB он вызывает подпрограмму в ClassA (класс основной программной формы), но когда я это делаю, я обнаружил, что вся инициализация класса A встречается снова, т.е. снова начинается ДЕКЛАРАЦИЯ переменных класса, а подпрограмма NEW происходит снова.Класс vb.net перезагружается, когда подпрограмма классифицируется из другого класса
- NB: Это происходит только в том случае, если я запускаю класс B у фонового работника. Если ClassB был вызван из основного потока Form1, эта ошибка не появляется.
вот код:
Public Class Form1
Dim g As String = "adsfadsf"
Public Sub New()
InitializeComponent()
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
BackgroundWorker1.RunWorkerAsync()
End Sub
Private Sub BackgroundWorker1_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker1.DoWork
Dim clsB As New ClassB
clsB.st()
End Sub
Public Sub UpdateView()
' do update here
End Sub
End Class
Public Class ClassB
Public Sub st()
Form1.UpdateView()
End Sub
End Class
Любая обратная связь?
Похоже, что работник фона является проблемой, поскольку он теряет ссылку на родительский поток. Обходной путь - передать ссылку на основную нить, затем использовать эту ссылку для вызова конкретной подпрограммы Я пробовал и работал отлично
Привет, и добро пожаловать в переполнение стека. Это просто сообщение, которое я отправляю новым членам, чтобы немного помогать. Кривая обучения для нового пользователя не крутая как таковая, но выяснение того, как использовать стек, не всегда очевидно. Пожалуйста, займите несколько минут и посмотрите здесь [ask] и здесь [mcve] .. Также, если ответ действительно для вас, нажмите на галочку слева от ответа, чтобы вопрос был отмечен как ответ и это гарантирует, что человек, который разместил его, получает репутацию. Приветствия. –
@ Давид Уилсон: спасибо за помощь! – Abner
Нет проблем. Добавление кода значительно облегчило понимание того, что было не так. –