|
Вернулся
1782 / 677 / 46
Регистрация: 10.09.2021
Сообщений: 2,840
|
||||||
Как добавить в список ListBox большое количество строк, чтобы это было быстро по времени?27.09.2023, 11:31. Показов 8110. Ответов 125
Всем привет! У меня есть листбокс List1 в VB6 и я пытаюсь добавить в этот список много строк, скажем 10 тысяч строк, но я хочу добавить их таким образом, чтобы они добавились быстро по времени, а не ждать целую секунду... Я этого делать не умею, поэтому помогите пожалуйста! Единственный лайфхак который я нашёл это сначала скрывать список а потом показывать так можно добавить в список много строк в 3 раза быстрее, но для 10 тысяч строк это всё равно занимает целых пол секунды времени...
Добавлено через 24 минуты Вопрос: почему не работает сообщение LB_INITSTORAGE? Добавлено через 24 секунды Скорость добавления в листбокс никак не изменилась!
0
|
||||||
| 27.09.2023, 11:31 | |
|
Ответы с готовыми решениями:
125
Как быстро создать список на большое количество элементов? Максимально быстро записать большое количество строк SQLite Как сделать так чтобы из продуктов можно было добавить в блюда и это списывалось все на кухне |
|
Вернулся
1782 / 677 / 46
Регистрация: 10.09.2021
Сообщений: 2,840
|
|
| 09.05.2024, 06:02 [ТС] | |
|
testuser2, приложи код! весь проект! а то только один EXE, возможно ты уже исправил ошибки, раз EXE запускается
Добавлено через 15 минут testuser2, вообще, я очень сильно удивлён, если честно, как ты заморочился полным сканированием памяти процесса, нахождения нужной строки и полным переписыванием памяти напрямую в процесс
0
|
|
|
Вернулся
1782 / 677 / 46
Регистрация: 10.09.2021
Сообщений: 2,840
|
|
| 09.05.2024, 06:42 [ТС] | |
|
testuser2, вообще конечно, ковыряться в памяти - это очень интересная тема, я вот например, посмотрел через мою любимую программу ProcessHacker память твой программки EXE которую ты прислал, я запустил этот твой примерчик в EXE у меня заработал, и посмотрел память нашёл эти строки листбокса. Скрин прилагаю. Напрямую пробовал перезаписывать память через ProcessHacker и действительно строчки меняются (но не обновляются на экране). Каждая строка разделена в памяти тремя нулями в HEX это 00 00 00.
1
|
|
|
Вернулся
1782 / 677 / 46
Регистрация: 10.09.2021
Сообщений: 2,840
|
|
| 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
|
||
|
Вернулся
1782 / 677 / 46
Регистрация: 10.09.2021
Сообщений: 2,840
|
|||
| 09.05.2024, 14:14 [ТС] | |||
|
Добавлено через 4 минуты Добавлено через 2 минуты Да, не работает, из-за красивостей окон, как я и думал, как только отключаю красивости то сразу начинает работать Добавлено через 26 секунд С красивым окном видимо память в процессе там уже другая!!!
0
|
|||
| 09.05.2024, 14:21 | |
|
HackerVlad, ну красивости это твои, я же твой проект брал, и просто перекидывал все файлы из проекта в проект, так на всякий случай, вдруг нужно. Я не понимаю в кастомизации вообще ни чего. Но у меня работате просто по дефолту ни чего не меняя, на 7, 8.1 и 10ке.
0
|
|
|
Вернулся
1782 / 677 / 46
Регистрация: 10.09.2021
Сообщений: 2,840
|
|
| 09.05.2024, 14:28 [ТС] | |
|
testuser2, сейчас я тебя наглядно на картинках объясню тогда что такое красивости, раз ты не понял
Первая картинка без красовостей окон, вторая с красиостями
0
|
|
|
Вернулся
1782 / 677 / 46
Регистрация: 10.09.2021
Сообщений: 2,840
|
|
| 09.05.2024, 14:31 [ТС] | |
|
testuser2, так вот если окно стилизовано темой Windows (это я называю красивостями окон) то твой код уже полностью не работает и происходит вылет
Добавлено через 1 минуту Просто у меня VB6.EXE пропатчен манифестом для красивости окон. Поэтому у меня не работает. А у тебя GUI старая некрасивая поэтому у тебя работает. Тебе нужно сделать так чтобы работало везде. Нужно посмотреть чем отличается обычное некрасивое окно от красового. Добавлено через 1 минуту Сейчас попробую ещё пропатчить манифестом твой Проект1.exe, наверное сразу после этого перестанет работать.
0
|
|
|
Вернулся
1782 / 677 / 46
Регистрация: 10.09.2021
Сообщений: 2,840
|
|
| 09.05.2024, 14:35 [ТС] | |
|
Да, как я и думал, exe пропатченное манифестом для красивостей сразу перестаёт работать
1
|
|
|
Вернулся
1782 / 677 / 46
Регистрация: 10.09.2021
Сообщений: 2,840
|
||
| 09.05.2024, 14:57 [ТС] | ||
|
А при чём тут drag and drop? Конечно у меня всё работает. У меня всегда все окна красивые. Я люблю красивости.
0
|
||
|
Вернулся
1782 / 677 / 46
Регистрация: 10.09.2021
Сообщений: 2,840
|
|
| 09.05.2024, 15:28 [ТС] | |
|
testuser2, ну я посмотрел свойства этих окон, без красивостей и с красивостями, не нашёл особо разницы, однако кое что всё же меняется. В окне с красивостями добавляется на пример глобальный атом "MicrosoftTabletPenServiceProperty" для тач экранов. Но это нам всё равно как бы. Потом ещё заметил в свойствах класса окна Windows Extra Bytes для окна с красиовстями 6 байт становится а без красивостей 10 байт например
1
|
|
|
Вернулся
1782 / 677 / 46
Регистрация: 10.09.2021
Сообщений: 2,840
|
|
| 09.05.2024, 15:35 [ТС] | |
|
Как видно если меняется размер Windows Extra Bytes значит количество байт там какой-то памяти в окне тоже меняется, память уже совсем другая. Ты посмотри лучше чем отличается структура самого листбокса в памяти. И вообще лучше найди ошибку и исправь, чтобы в красивых окнах тоже всё работало как надо.
0
|
|
|
Вернулся
1782 / 677 / 46
Регистрация: 10.09.2021
Сообщений: 2,840
|
|
| 09.05.2024, 15:36 [ТС] | |
|
Вот
0
|
|
| 09.05.2024, 16:11 | ||
|
0
|
||
|
Вернулся
1782 / 677 / 46
Регистрация: 10.09.2021
Сообщений: 2,840
|
|
| 09.05.2024, 16:14 [ТС] | |
|
testuser2, ты попробуй в VB6 просто запусти VB6 среду пропатченную с красивостями и увидешь что же там изменилось
Добавлено через 38 секунд testuser2, а ты память в своём процессе записываешь обычным CopyMemory?
0
|
|
| 09.05.2024, 18:44 | |||||||
|
Какая-то хрень, если под каждую строку выделяется дополнительная структура 256 байт. На 20000 строк получится
1
|
|||||||
|
Вернулся
1782 / 677 / 46
Регистрация: 10.09.2021
Сообщений: 2,840
|
||
| 09.05.2024, 18:48 [ТС] | ||
|
0
|
||
| 09.05.2024, 18:48 | |
|
Как исправить, чтобы количество столбцов и строк StringGrid было таким, как ввел пользователь Как добавить значения с Листа в Listbox, если количество строк может меняться
Поиск минимального времени выполнения теста, чтобы количество набранных баллов было максимальным Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Транслитерация текста с кириллицы на латиницу (вариант №2)
Maks 13.11.2026
Обновленная версия ранее созданной обработки.
Добавлено:
- Проверка исходного текста на кириллицу, через обращение к стандартной функции "ТолькоКириллицаВСтроке" из общего модуля. . .
|
Часы с термометром и праздничным календарем
yariko 12.11.2026
Сегодня мы рассмотрим как можно сделать отличные многофункциональные часы.
Итак, поставим конкретную задачу: разработать часы с календарем, двумя термодатчиками, выводом поздравительных сообщений. . .
|
Транслитерация текста с кириллицы на латиницу (вариант №1)
Maks 11.11.2026
Решил облегчить жизнь себе и коллегам админам при создании электронных почтовых ящиков для пользователей, в результате написал обработку "Транслитерация текста" с кириллицы на латиницу, а в ней. . .
|
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version
1. 2003 - 06 - Designing Virtual Worlds (1st Edition)
Автор: Richard A. Bartle | Объем: 768 стр.
Ссылки: Amazon
. . .
|
|
Родители токсичные абьюзеры по отношению к своим детям ругают их оскорбляют не любят
zorxor 08.11.2026
Жить в атмосфере постоянных оскорблений, критики и холодности со стороны родителей — это тяжелое и болезненное испытание, которое оставляет глубокие эмоциональные раны. Токсичное и абьюзивное. . .
|
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы.
Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
|
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version
Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
|
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров".
Задача:
Запрет инициалов.
Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
|