Ограничение в vb6 на кол-во элементов на форме

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Rody66
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 183
Зарегистрирован: 16.01.2011 (Вс) 17:03

Ограничение в vb6 на кол-во элементов на форме

Сообщение Rody66 » 16.01.2011 (Вс) 22:11

VB6 по дефолту имеет определенное ограничение на кол-во элементов на форме и с проблемой этой недавно я вплотную столкнулся. Вопрос в том, возможно ли данное ограничение обойти? А если возможно, то каким образом? Заранее спасибо.

NashRus
Постоялец
Постоялец
 
Сообщения: 388
Зарегистрирован: 18.03.2006 (Сб) 1:16

Re: Ограничение в vb6 на кол-во элементов на форме

Сообщение NashRus » 16.01.2011 (Вс) 22:26

Задумайся об архитектуре твоих форм.
Если не поможет, группируй контролы в UserControl'ы и размещай их.

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Re: Ограничение в vb6 на кол-во элементов на форме

Сообщение Денис » 17.01.2011 (Пн) 9:18

Именно так! Рекомендуется спросить себя, "А зачем я пложу на форме столько сущностей? И есть ли в этом необходимость?"
Автор, поясните, как именно вы подошли к этому пределу?
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

FireFenix
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1640
Зарегистрирован: 25.05.2007 (Пт) 10:24
Откуда: Mugen no Sora

Re: Ограничение в vb6 на кол-во элементов на форме

Сообщение FireFenix » 17.01.2011 (Пн) 21:21

В VB6 вроде Int16 юзается?
65535 контролов юзать одновременно - пичалька
Птицей Гермеса меня называют, свои крылья пожирая... сам себя я укрощаю
私はヘルメスの鳥 私は自らの羽根を喰らい 飼い慣らされる

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Re: Ограничение в vb6 на кол-во элементов на форме

Сообщение Andrey Fedorov » 18.01.2011 (Вт) 17:55

Rody66 писал(а):VB6 по дефолту имеет определенное ограничение на кол-во элементов на форме и с проблемой этой недавно я вплотную столкнулся. Вопрос в том, возможно ли данное ограничение обойти? А если возможно, то каким образом? Заранее спасибо.


Где-то 255-256. А про UserControl-ы уже сказали - типа на каждую вкладку Tab-a свой UserControl... Ну и Grid-ы неплохо помогают.
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Rody66
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 183
Зарегистрирован: 16.01.2011 (Вс) 17:03

Re: Ограничение в vb6 на кол-во элементов на форме

Сообщение Rody66 » 18.01.2011 (Вт) 19:30

NashRus, благодарю вас, проблема решилась юзерконтролом.
Автор, поясните, как именно вы подошли к этому пределу?

многофункциональный автокликер, ничего более.

Rody66
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 183
Зарегистрирован: 16.01.2011 (Вс) 17:03

Re: Ограничение в vb6 на кол-во элементов на форме

Сообщение Rody66 » 13.09.2011 (Вт) 20:25

Собственно, вынужден возобновить тему, ибо теперь уже все подошло к тому, что использование UserControl'а не подходит. Причина в том, что у контроллеров(элементов), расположенных на юзерконтроле (например текст бокс), программно нельзя менять свойства (поправьте если я не прав), то есть например, в процессе работы программы нельзя будет изменить текст в текстбоксе и т. д. . В общем цель - либо что-то сделать с юзерконтролом, либо найти какую то альтернативу ему. Чуть выше Andrey Fedorov упомянул Grid, гугл ничего дельного об это не сказал, если кто-то знает, так же прошу поделиться. Заранее благодарен.
ЗЫ при необходимости выложу программу, для работы которой, собственно, и ищется решение. (на данный момент прога полностью рабочая, но для расширения функционала, необходимо найти решение по увеличению кол-ва контроллов на форме)

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Ограничение в vb6 на кол-во элементов на форме

Сообщение Хакер » 13.09.2011 (Вт) 20:40

Rody66 писал(а):Причина в том, что у контроллеров(элементов), расположенных на юзерконтроле (например текст бокс), программно нельзя менять свойства (поправьте если я не прав),

Мегабред.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Rody66
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 183
Зарегистрирован: 16.01.2011 (Вс) 17:03

Re: Ограничение в vb6 на кол-во элементов на форме

Сообщение Rody66 » 13.09.2011 (Вт) 20:49

Хакер писал(а):
Rody66 писал(а):Причина в том, что у контроллеров(элементов), расположенных на юзерконтроле (например текст бокс), программно нельзя менять свойства (поправьте если я не прав),

Мегабред.

Хм, стоит, наверно, уточнить. Я имел в виду уже в запущенной программе, иначе говоря в процессе ее работы. Да, вероятно не совсем верно употребил слово. Опять же поправьте если не прав, и свое мнение пожалуйста на этот счет.

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 13.09.2011 (Вт) 21:14

Как минимум, можно создать соответствующие свойства UserControl'а.
Или попробовать Public где-нибудь поставить.

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: Ограничение в vb6 на кол-во элементов на форме

Сообщение Mikle » 14.09.2011 (Ср) 17:37

Andrey Fedorov писал(а):Где-то 255-256.

Только что попробовал, на форме кнопка cmd с индексом "0", ScaleMode = vbPixels:
Код: Выделить всё
Option Explicit

Dim Cnt As Long

Private Sub Form_Click()
  Dim x As Long, y As Long

  If Cnt > 0 Then Exit Sub
  For y = 0 To 47
    For x = 0 To 63
      Cnt = y * 64 + x
      If Cnt > 0 Then Load cmd(Cnt)
      cmd(Cnt).Visible = True
      cmd(Cnt).Move x * 10, y * 10
    Next x
    DoEvents
  Next y
  Caption = "Ready"
End Sub

Без проблем (хотя медленно) создалось 3072 кнопок, все работают.

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 14.09.2011 (Ср) 20:10

Mikle писал(а):Только что попробовал, на форме кнопка cmd с индексом "0"

Насколько я помню, ограничение распространяется на количество WithEvents описаний, причём массив считается за одно.

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Re: Ограничение в vb6 на кол-во элементов на форме

Сообщение Andrey Fedorov » 15.09.2011 (Чт) 0:11

Я натыкался на ограничение элементов положенных на форму не из кода, а ручками. Обходил тем что размещал их в разных в UserControl-ах (это были контролы на вкладках). Не массивы, конечно.
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 24

    TopList