|
Вернулся
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
|
||||||
Как добавить в список ListBox большое количество строк, чтобы это было быстро по времени?27.09.2023, 11:31. Показов 6962. Ответов 125
Всем привет! У меня есть листбокс List1 в VB6 и я пытаюсь добавить в этот список много строк, скажем 10 тысяч строк, но я хочу добавить их таким образом, чтобы они добавились быстро по времени, а не ждать целую секунду... Я этого делать не умею, поэтому помогите пожалуйста! Единственный лайфхак который я нашёл это сначала скрывать список а потом показывать так можно добавить в список много строк в 3 раза быстрее, но для 10 тысяч строк это всё равно занимает целых пол секунды времени...
Добавлено через 24 минуты Вопрос: почему не работает сообщение LB_INITSTORAGE? Добавлено через 24 секунды Скорость добавления в листбокс никак не изменилась!
0
|
||||||
| 27.09.2023, 11:31 | |
|
Ответы с готовыми решениями:
125
Как быстро создать список на большое количество элементов? Максимально быстро записать большое количество строк SQLite Как сделать так чтобы из продуктов можно было добавить в блюда и это списывалось все на кухне |
|
Вернулся
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
|
|
| 09.05.2024, 06:02 [ТС] | |
|
testuser2, приложи код! весь проект! а то только один EXE, возможно ты уже исправил ошибки, раз EXE запускается
Добавлено через 15 минут testuser2, вообще, я очень сильно удивлён, если честно, как ты заморочился полным сканированием памяти процесса, нахождения нужной строки и полным переписыванием памяти напрямую в процесс
0
|
|
|
Вернулся
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
|
|
| 09.05.2024, 06:42 [ТС] | |
|
testuser2, вообще конечно, ковыряться в памяти - это очень интересная тема, я вот например, посмотрел через мою любимую программу ProcessHacker память твой программки EXE которую ты прислал, я запустил этот твой примерчик в EXE у меня заработал, и посмотрел память нашёл эти строки листбокса. Скрин прилагаю. Напрямую пробовал перезаписывать память через ProcessHacker и действительно строчки меняются (но не обновляются на экране). Каждая строка разделена в памяти тремя нулями в HEX это 00 00 00.
1
|
|
|
Вернулся
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
|
|
| 09.05.2024, 07:05 [ТС] | |
|
testuser2, да и кстати сообщение LB_INITSTORAGE успешно выделяет ровно столько памяти сколько ты попросишь в байтах резервирует как надо, я только что проверил и протестировал это. Ты там думал как же выделить память, так почему бы не использовать сообщение LB_INITSTORAGE а потом выделив память писать строки в уже подготовленную область!?
0
|
|
| 09.05.2024, 07:38 | ||
|
Всех с великим праздником!
1
|
||
| 09.05.2024, 07:56 | ||
|
1
|
||
| 09.05.2024, 13:00 | ||
|
0
|
||
|
Вернулся
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
|
|||
| 09.05.2024, 14:14 [ТС] | |||
|
Добавлено через 4 минуты Добавлено через 2 минуты Да, не работает, из-за красивостей окон, как я и думал, как только отключаю красивости то сразу начинает работать Добавлено через 26 секунд С красивым окном видимо память в процессе там уже другая!!!
0
|
|||
| 09.05.2024, 14:21 | |
|
HackerVlad, ну красивости это твои, я же твой проект брал, и просто перекидывал все файлы из проекта в проект, так на всякий случай, вдруг нужно. Я не понимаю в кастомизации вообще ни чего. Но у меня работате просто по дефолту ни чего не меняя, на 7, 8.1 и 10ке.
0
|
|
|
Вернулся
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
|
|
| 09.05.2024, 14:28 [ТС] | |
|
testuser2, сейчас я тебя наглядно на картинках объясню тогда что такое красивости, раз ты не понял
Первая картинка без красовостей окон, вторая с красиостями
0
|
|
|
Вернулся
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
|
|
| 09.05.2024, 14:31 [ТС] | |
|
testuser2, так вот если окно стилизовано темой Windows (это я называю красивостями окон) то твой код уже полностью не работает и происходит вылет
Добавлено через 1 минуту Просто у меня VB6.EXE пропатчен манифестом для красивости окон. Поэтому у меня не работает. А у тебя GUI старая некрасивая поэтому у тебя работает. Тебе нужно сделать так чтобы работало везде. Нужно посмотреть чем отличается обычное некрасивое окно от красового. Добавлено через 1 минуту Сейчас попробую ещё пропатчить манифестом твой Проект1.exe, наверное сразу после этого перестанет работать.
0
|
|
|
Вернулся
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
|
|
| 09.05.2024, 14:35 [ТС] | |
|
Да, как я и думал, exe пропатченное манифестом для красивостей сразу перестаёт работать
1
|
|
|
Вернулся
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
|
||
| 09.05.2024, 14:57 [ТС] | ||
|
А при чём тут drag and drop? Конечно у меня всё работает. У меня всегда все окна красивые. Я люблю красивости.
0
|
||
|
Вернулся
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
|
|
| 09.05.2024, 15:28 [ТС] | |
|
testuser2, ну я посмотрел свойства этих окон, без красивостей и с красивостями, не нашёл особо разницы, однако кое что всё же меняется. В окне с красивостями добавляется на пример глобальный атом "MicrosoftTabletPenServiceProperty" для тач экранов. Но это нам всё равно как бы. Потом ещё заметил в свойствах класса окна Windows Extra Bytes для окна с красиовстями 6 байт становится а без красивостей 10 байт например
1
|
|
|
Вернулся
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
|
|
| 09.05.2024, 15:35 [ТС] | |
|
Как видно если меняется размер Windows Extra Bytes значит количество байт там какой-то памяти в окне тоже меняется, память уже совсем другая. Ты посмотри лучше чем отличается структура самого листбокса в памяти. И вообще лучше найди ошибку и исправь, чтобы в красивых окнах тоже всё работало как надо.
0
|
|
|
Вернулся
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
|
|
| 09.05.2024, 15:36 [ТС] | |
|
Вот
0
|
|
| 09.05.2024, 16:11 | ||
|
0
|
||
|
Вернулся
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
|
|
| 09.05.2024, 16:14 [ТС] | |
|
testuser2, ты попробуй в VB6 просто запусти VB6 среду пропатченную с красивостями и увидешь что же там изменилось
Добавлено через 38 секунд testuser2, а ты память в своём процессе записываешь обычным CopyMemory?
0
|
|
| 09.05.2024, 18:44 | |||||||
|
Какая-то хрень, если под каждую строку выделяется дополнительная структура 256 байт. На 20000 строк получится
1
|
|||||||
|
Вернулся
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
|
||
| 09.05.2024, 18:48 [ТС] | ||
|
0
|
||
| 09.05.2024, 18:48 | |
|
Как исправить, чтобы количество столбцов и строк StringGrid было таким, как ввел пользователь Как добавить значения с Листа в Listbox, если количество строк может меняться
Поиск минимального времени выполнения теста, чтобы количество набранных баллов было максимальным Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Контроль уникальности строк в табличной части документа
Maks 18.06.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ПланированиеСпецтехники" с табличной частью "НаличиеОборудования", разработанного в КА2.
Задача: контроль уникальности строк в. . .
|
Клиент
Uhbif79 18.06.2026
Здесь простой клиент для работы с сервером.
|
Сервер
Uhbif79 18.06.2026
Выкладываю простейший сервер.
|
Дефенестрация
kumehtar 18.06.2026
Узнал интересное слово. Дефенестрация. Это когда ты выбрасываешь кого-либо или что-либо из окна. Возьму на вооружение)))
|
|
Дихотомия добра и зла
kumehtar 18.06.2026
Как Дзен-буддисты говорят о добре и зле: не нужно воевать против зла, нужно воевать против невежества. Тогда добро станет ествественным, и поэтому вечным. Но дело в том, что невежество всё время. . .
|
Своя Интернет-Компания
iceja 18.06.2026
Я программист с экономическим образованием, пишу свой проект, это SaaS для бизнесов. Мне нужен co-founder с высшим экономическим образованием, и/ или инвестор. Сейчас проект в интенсивной разработке,. . .
|
24 Мат модель здравосохранения: функциональные требования к строительству пищеблока
anaschu 18.06.2026
СРесурсами1: финансовый SD-контур, калькулятор функциональных требований пищеблока
Сегодня разделили затраты в агенте Экономика по образцу модели НАСОСЫ, добавили расчёт ROI и построили первый. . .
|
23. что сделано за последнее время.
anaschu 17.06.2026
• Эталон: Клиника НИИ питания РАМН, Москва — централизованный пищеблок, 225 коек, 180 пациентов
• Git: репозиторий med2, ветка абсентеизм. Рабочий файл: СРесурсами1_v4. alp
• Смежный проект:. . .
|