VB 6: Сколько средств управления я могу иметь на единственной форме?

Я знаю, что предел для именованных средств управления 254, кроме того необходимо использовать контрольные массивы. Но кажется, что мы поразили предел для массивов также. Какая-либо идея, каков тот абсолютный предел?

6
задан Jonathan Allen 30 June 2010 в 00:24
поделиться

2 ответа

Не существует абсолютного предела. Если вы разместите на форме достаточно элементов управления, то в конечном итоге память закончится. Я сделал тестовое приложение, которое загружает командные кнопки в массив элементов управления. Мой первый запуск остановился с ошибкой "Out of memory" при количестве кнопок около 6900. Я отключил несколько других приложений и смог загрузить почти 8200. Я проделал то же самое с текстовыми полями и получил разные результаты (около 7300 до и 8600 после). Различные элементы управления потребляют разное количество памяти, поэтому на самом деле нет способа указать точное количество элементов управления, которые можно разместить на форме.

7
ответ дан 16 December 2019 в 21:34
поделиться

У нас есть система управления записями, написанная на VB6, и есть руководство по пользовательскому интерфейсу, согласно которому с каждой записью должна быть связана ровно одна форма ввода данных (т.е. не может открываться другие окна). В результате этой политики один из наиболее сложных типов записей в нашей системе теперь имеет форму, содержащую в общей сложности 659 отдельных элементов управления. Мы столкнулись с ограничением в 256 именованных элементов управления, а затем со временем преобразовали многие элементы управления в массивы элементов управления. Недавно мы сжали место для 5 или 6 новых элементов управления, пройдя через всю форму и преобразовав несколько оставшихся автономных элементов управления в массивы элементов управления.

Это тот случай, когда я хотел бы нарушить правила, но это потребует значительного рефакторинга для использования подхода с несколькими формами.

В любом случае вы можете уместить в форме не менее 659 элементов управления, но мне никогда не удавалось узнать, каков истинный абсолютный предел (и я не уверен, что хочу).

1
ответ дан 16 December 2019 в 21:34
поделиться