|
2 / 2 / 0
Регистрация: 26.03.2020
Сообщений: 41
|
|
VB6. Как обойти ошибку Out of memory?08.04.2020, 22:26. Показов 6370. Ответов 27
Игры, программы, фильмы ..... имеют большие файлы разного формата. И я хочу, чтобы мой *.exe файл (мой проект) был большим. Я хочу в нём хранить и звуковые файлы, и рисунки, и всё что необходимо моему проекту для качественной работу в компьютере у пользователя. Если оперативной памяти мало, то пусть мой проект зависает как большие игры на слабых компьютерах. Почему всем можно, а мне нельзя? Почему ты запрещаешь мне?
Вот эти слова я много раз повторял Visual-у Basic-у 6.0, но он упёрся при компиляции *.exe файла и говорит мне: Мне не удалось убедить то, что мне так нравится. Уважаемые программисты, может у Вас получится? Ведь на другой язык программирования я переходить не хочу.
0
|
|
| 08.04.2020, 22:26 | |
|
Ответы с готовыми решениями:
27
Помогите, пожалуйста, обойти проблему: Out of memory
Как обойти ошибку? |
|
sleep
4934 / 4607 / 841
Регистрация: 13.04.2015
Сообщений: 9,774
|
||
| 08.04.2020, 22:38 | ||
|
0
|
||
|
Супер-модератор
|
|
| 09.04.2020, 07:54 | |
|
Anti_All, вопрос несерьезен. Это то же самое, что спросить врача на форуме: почему у меня нога болит? Может быть много причин. Без характеристик проекта вам никто не поможет.
0
|
|
|
Модератор
|
|||
| 09.04.2020, 10:23 | |||
|
2
|
|||
|
2 / 2 / 0
Регистрация: 26.03.2020
Сообщений: 41
|
|||||
| 09.04.2020, 12:32 [ТС] | |||||
|
0
|
|||||
|
Супер-модератор
|
|
| 09.04.2020, 12:44 | |
|
Anti_All, непонятен Ваш пафос... Не получается? Решайте проблему. Хотите совета? Представьте исходные данные.
В exe-файле можно хранить что угодно и в довольно больших объемах. Технология примерно такая. Собираете необходимые данные в двоичный файл (какую-нибудь структуру соорудите для него). Потом приливаете эти данные к самому экзешнику (это вполне допустимо). Когда экзешник запускается, он может открыть сам себя на чтение и прочитать из своего хвоста любые данные. Я это неоднократно делал. Примерно так.
0
|
|
|
|
||
| 09.04.2020, 14:14 | ||
|
1 Каким образом вы пытаетесь это сделать? 2 О каких объемах (примерно) идет речь?
0
|
||
|
2 / 2 / 0
Регистрация: 26.03.2020
Сообщений: 41
|
||||
| 09.04.2020, 14:28 [ТС] | ||||
|
Catstail, я не совсем понимаю смысл слова в "хвосте". Это какой-то отдельный файл? Или он находится в *.exe файле, но при загрузке проекта остаётся ждать пока к нему не обратится проект, тем самым не загружая память при загрузке проекта.
Добавлено через 10 минут Добавлено через 1 минуту
0
|
||||
|
2 / 2 / 0
Регистрация: 26.03.2020
Сообщений: 41
|
|
| 09.04.2020, 15:46 [ТС] | |
|
Если ещё кто-то напишет “хвост”, то я перенесу инсульт.
А можно пример? Чтобы посмотреть и понять, как это работает. Например, пусть будет 3 файла, ну или 1 файл (просто я ещё не совсем понял, как работать с “хвостом”): Первый файл *.exe файл (мой проект); Второй файл (ну или “хвост”), файл который хранит в себе 3 *.jpg файла; Третий файл (ну или “хвост”), файл который хранит в себе 3 *.wav файла; Нажимаю на одну кнопку в форме - в Image1.Picture передаётся картинка с файла *.jpg, нажимаю ещё раз, передаётся следующая картинка с файла *.jpg; Нажимаю на другую кнопку - воспроизводится звук с *.wav файла, нажимаю ещё раз, воспроизводится следующий звук с *.wav файла. Но данные файлы (ну или “хвосты”) не должны открывать, извлекать ни какой сторонний проект, кроме моего проекта.
0
|
|
|
Модератор
|
|
| 09.04.2020, 17:44 | |
|
Anti_All, определяете размер EXE (посредством чтения секций файла, анализируя IMAGE_SECTION_HEADER.PointerToRawData и IMAGE_SECTION_HEADER.SizeOfRawData). После самой последней секции пишите свои данные в формате который позволит прочитать их (по имени/индексу). Самый простой вариант - это записать содержимое PropertyBag в котором будут записаны нужные данные. Как минимум это позволит с легкостью читать Persistent-объекты типа StdPicture, Font, данные контролов, любые бинарные данные (в том числе и музыку).
Альтернативно можно вместо PropertyBag записать OLE Compound File Storage, это чуть сложнее, но позволит использовать целую файловую систему внутри файла. Для отладки используйте внешний файл с данными, а в Релиз-билде уже с помощью внешней утилиты записывайте данные в файл (подойдет простой батник который объединяет файлы в один).
2
|
|
|
sleep
4934 / 4607 / 841
Регистрация: 13.04.2015
Сообщений: 9,774
|
|
| 09.04.2020, 17:50 | |
|
0
|
|
|
Супер-модератор
|
|||||||||||
| 09.04.2020, 18:48 | |||||||||||
Сообщение было отмечено Anti_All как решение
Решение
Anti_All, вот простой код. Рабочий. Разбирайся:
1) Распаковать архив 2) перетранслировать t123 3) выполнить командный файл addData.cmd (Он добавить в ХВОСТ t123 ее собственный исходник) 4) запустить t123.exe и убедиться, что распечатается исходник (без открытия доп. файлов)
2
|
|||||||||||
|
|
|||
| 09.04.2020, 19:44 | |||
|
А вот
0
|
|||
|
|
|
| 09.04.2020, 20:41 | |
|
0
|
|
|
Супер-модератор
|
||||||
| 09.04.2020, 21:00 | ||||||
Сообщение было отмечено Anti_All как решение
Решение
Ну вот:
1
|
||||||
|
|
||
| 09.04.2020, 21:51 | ||
|
Должен же быть способ загрузить прямо из участка памяти изображение в Image? На PureBasic это делается одной командой, значит это возможно с точки зрения системы, просто мы не знаем как?
0
|
||
|
Супер-модератор
|
|
| 10.04.2020, 10:25 | |
|
Да, способ должен быть
Добавлено через 1 час 14 минут The trick, объединить-то - да, но придется еще оглавление создавать...
0
|
|
| 10.04.2020, 10:25 | |
|
Помогаю со студенческими работами здесь
20
Как победить ошибку Out of memory? Как обойти ошибку 207? XMLHttpRequest. как обойти ошибку? Как обойти ошибку Warning: file_get_contents? Как можно обойти эту ошибку ? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|
SDL3 для Web (WebAssembly): Сборка SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|