Недостаточно памяти для завершения этой операции - PullRequest
1 голос
/ 31 июля 2011

Я столкнулся с необычной проблемой.У меня есть приложение с многостраничной страницей, которая содержит около 10 страниц, и каждая страница содержит другую многостраничную страницу с 3-5 страницами.Проблема заключалась в том, что приложение было слишком «тяжелым», и я хотел разбить его на несколько форм (форма для каждой страницы).В первоначальном приложении форма имела, как я сказал, около 10 страниц, по 3-5 страниц на каждой из них, и на каждой странице было около 3-20 комбинированных списков, 4-40 текстовых полей.Все они были загружены при инициализации путем выполнения фрагмента кода.Теперь ... Я скопировал кусок кода для каждой страницы и добавил его в инициализации заменяющей его формы.Код выглядит примерно так:

Private Sub UserForm_Initialize()
Dim i As Integer
Dim ws1 As Worksheet
Dim pagini As range
Set ws1 = Worksheets("Config")
Dim cControl As Control
Set cControl = Me.Controls.Add("Forms.Multipage.1", "oly", True)
    With cControl
        .Width = 650
        .Height = 380
        .Top = 0
        .Left = 0
    End With
Me.Controls("oly").Pages.Remove (Page1)
Me.Controls("oly").Pages.Remove (Page2)
    For Each pagini In ws1.range("pagoly")
        Me.Controls("oly").Pages.Add (pagini)
    Next pagini
i = 0
Do While i < 5
    Set cControl = Me!oly.Pages(i).Add("Forms.Frame.1", "iooly" & i, True)
        With cControl
            .Caption = "IO"
            .Width = 210
            .Height = 340
            .Top = 2
            .Left = 5
        End With
    Set cControl = Me!oly.Pages(i).Add("Forms.Frame.1", "niooly" & i, True)
        With cControl
            .Caption = "nIO"
            .Width = 210
            .Height = 340
            .Top = 2
            .Left = 220
        End With
    Set cControl = Me!oly.Pages(i).Add("Forms.Frame.1", "descriere" & i, True)
        With cControl
            .Caption = "Descriere"
            .Width = 210
            .Height = 340
            .Top = 2
            .Left = 435
        End With
Loop
End Sub

Пока он просто добавляет фреймы на каждой из 5 страниц этой формы.Проблема в том, что я получаю сообщение «Недостаточно памяти для выполнения этой операции», когда я хочу ее запустить, и я действительно не знаю, почему.Но на предыдущей версии, которая загружала в 50 раз больше, проблем не было.У вас есть идея, в чем проблема, потому что я действительно не понимаю ее?

1 Ответ

4 голосов
/ 31 июля 2011

У вас есть

Do While i < 5
    'stuff
Loop

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...