Vb.net 在VBA中达到内存限制,Visual Studio VB会更好吗?

Vb.net 在VBA中达到内存限制,Visual Studio VB会更好吗?,vb.net,vba,memory,Vb.net,Vba,Memory,Excel VBA中的一个用户表单今天开始达到64 kB的内存限制。我希望这个界面至少能增长10-15%,而且现在可以很容易地看到它越来越大。VB6听起来会更好,但我听说它也有64KB的内存限制 我使用VisualBasic卡住,因为这个项目上的其他工人不知道C++或任何其他语言。除了压缩表单控件,还有什么快速建议吗 我刚刚编写了以下简单测试 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.C

Excel VBA中的一个用户表单今天开始达到64 kB的内存限制。我希望这个界面至少能增长10-15%,而且现在可以很容易地看到它越来越大。VB6听起来会更好,但我听说它也有64KB的内存限制


我使用VisualBasic卡住,因为这个项目上的其他工人不知道C++或任何其他语言。除了压缩表单控件,还有什么快速建议吗

我刚刚编写了以下简单测试

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Try
        While True
            Dim B As New Button
            Me.Controls.Add(B)
            Me.Text = String.Format("Controls: {0}", Me.Controls.Count)
        End While
    Catch ex As Exception
        Me.Text = ex.Message
    End Try
End Sub

它开始在4000个控制点出现问题。我怀疑这是由于我所用笔记本电脑的内存限制造成的。

您指的是什么限制?VB6和VBA非常接近。问题是控件太多,而不是乱码。表单有多个多页,有些多达10页,包含约4页的多页,其中包含许多文本框、标签和组合框。用户表单太大了。为什么不把代码拆分成其他模块和/或类呢?vb.net是一个完全不同的体系结构——我认为它除了可用资源之外没有任何限制。好的,每个控件最多可以有32k个子控件-例如每个groupbox/选项卡窗格/等等。。。我怀疑你在打那个之前已经没有记忆了。谢谢你,这很令人鼓舞。我也在做一些测试,它似乎达到了计算机的极限,而不是人为的极限。谢谢你确认这个限额。我不想在没有额外保证的情况下继续这个项目。不客气,很高兴我能帮上忙。我强烈推荐.Net,特别是如果你来自VB背景,你会发现这是一个令人耳目一新的变化。首先是输入错误:它是4k而不是14k。其次,我已经找到了失败的原因-windows似乎无法分配额外的GDI(图形)句柄。。。过时的文章:更近更详细:-看起来Vista+OSE上每个进程的句柄默认限制为10000个最终。。。如果你真的需要的话,这个限制看起来是可以绕过的(但是如果你这么做,你可能做错了!)这是一个很好的技巧,但我希望我不需要使用它。我不打算。