作为VB.Net的新手,非常随意的程序员。我正在努力在这个声明中找到逻辑错误。它说我递归地调用了Form,但是我没有看到它。
我在Form类之外创建了一个新模块,我正在初始化我的所有函数。在这个函数中,我从几个文本框中请求文本数据。
' ----- A function within a module -----
Private Function run_stress_function()
'Building my class
Dim req_width As New Pocket_Stress_Function(CDbl(frmMain.txtPBend.Text),
CDbl(frmMain.txtPAllow.Text),
CDbl(frmMain.txtPthick.Text),
CDbl(frmMain.txtPwidth.Text), 1.5)
Return req_width.Flange_width
End Function
你能帮我解决这个问题吗?稍后在同一个模块中,我将这一行称为sub:
Dim scrX As Integer = frmMain.pnlDraw.Size.Width
这项工作完美无缺?所以我似乎错过了逻辑。帮助
错误详细信息(请注意,这来自新模块,因此我无法使用我。):
System.InvalidOperationException未处理 的HResult = -2146233079 Message =创建表单时出错。有关详细信息,请参阅Exception.InnerException。错误是:表单在构造期间从默认实例引用自身,这导致无限递归。在Form的构造函数中,使用'Me。'来表示表单。
答案 0 :(得分:0)
您的异常消息说明了一切
在表格的构造函数中,使用'我来参考表单。
以这种方式使用它(用我替换frmMain)
Private Function run_stress_function()
Dim req_width As New Pocket_Stress_Function(CDbl(Me.txtPBend.Text),
CDbl(Me.txtPAllow.Text),
CDbl(Me.txtPthick.Text),
CDbl(Me.txtPwidth.Text), 1.5)
Return req_width.Flange_width
End Function