|
2 / 2 / 0
Регистрация: 26.03.2020
Сообщений: 41
|
|
VB6. Как обойти ошибку Out of memory?08.04.2020, 22:26. Показов 6304. Ответов 27
Игры, программы, фильмы ..... имеют большие файлы разного формата. И я хочу, чтобы мой *.exe файл (мой проект) был большим. Я хочу в нём хранить и звуковые файлы, и рисунки, и всё что необходимо моему проекту для качественной работу в компьютере у пользователя. Если оперативной памяти мало, то пусть мой проект зависает как большие игры на слабых компьютерах. Почему всем можно, а мне нельзя? Почему ты запрещаешь мне?
Вот эти слова я много раз повторял Visual-у Basic-у 6.0, но он упёрся при компиляции *.exe файла и говорит мне: Мне не удалось убедить то, что мне так нравится. Уважаемые программисты, может у Вас получится? Ведь на другой язык программирования я переходить не хочу.
0
|
|
| 08.04.2020, 22:26 | |
|
Ответы с готовыми решениями:
27
Помогите, пожалуйста, обойти проблему: Out of memory
Как обойти ошибку? |
|
sleep
4927 / 4577 / 840
Регистрация: 13.04.2015
Сообщений: 9,730
|
||
| 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
4927 / 4577 / 840
Регистрация: 13.04.2015
Сообщений: 9,730
|
|
| 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? Как можно обойти эту ошибку ? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога
SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
|
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
|
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога
SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
|
|
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога
Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip"
Извлеките архив и вы увидите. . .
|
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога
Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д.
Сборка примера
Скачайте. . .
|
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net
REST сервисы временно не работают, только через Web.
Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
|