Форум программистов, компьютерный форум, киберфорум
Delphi
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/8: Рейтинг темы: голосов - 8, средняя оценка - 5.00
1 / 1 / 0
Регистрация: 08.02.2016
Сообщений: 22

Не хватает ресурсов на обработку xml

20.03.2020, 17:26. Показов 1719. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте

у меня Delphi XE7, ОС 10 винда 64 разрядная. Оперативка 12гб.
и гис-приложение (32-х разрядное) , которое имеет возможность обработать хмл (КПТ) и отобразить сведения их хмл в графическом виде.
для обработки - хмл читается в поток, а потом трансформируется в мидмиф.

И на этом этапе при обработке больших файлов появляется ошибка "недостаточно памяти для завершения операции".

В питоне есть итератор, который позволяет обрабатывать файлы любого размера. Подскажите - в дельфи нечто подобное есть? Или может есть какие-то компоненты, которые позволяют работать с хмл любого размера?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.03.2020, 17:26
Ответы с готовыми решениями:

VisualBasic ERROR. Не хватает ресурсов.
Lyudi!!!! U menya komp p-2 400 s 128 MB ozu.... v Vb sozdayu proekt..pustaya forma s image-om,potom copy - paste etot image i paste s...

Что значит ошибка 'не хватает системных ресурсов'?
Имеется файл Excel с 'полем со списком'. На моем компьютере П-4 256 М оперативки список открывается, на другом компе П-4 512 М пишет 'не...

Как узнать сколько не хватает ресурсов в ResourcePool
Если из ResourcePool попробовать захватить больше ресурсов чем в нем есть, то получается недостаток. Как в динамике узнать величину этого...

7
 Аватар для GoodWeather
886 / 588 / 179
Регистрация: 28.02.2017
Сообщений: 2,359
Записей в блоге: 1
20.03.2020, 19:31
Что именно выдаёт данную ошибку? Какой именно модуль/класс? Каким XML-парсером вы пользуетесь в данный момент?
0
1 / 1 / 0
Регистрация: 08.02.2016
Сообщений: 22
23.03.2020, 09:19  [ТС]
Delphi
1
2
3
4
5
6
7
var
  _SourceXmlDoc, _SourceXsltDoc: IXMLDOMDocument3;
 _Buffer: TBytes;
 
...
_SourceXmlDoc := CoDOMDocument60.Create;
_SourceXsltDoc := CoDOMDocument60.Create;
и в строчке
_Buffer := aEncoding.GetBytes(_SourceXmlDoc.transfo rmNode(_SourceXsltDoc));
на этапе
_SourceXmlDoc.transformNode(_SourceXsltD oc)
появляется сообщение об ошибке
0
Злостный нарушитель
 Аватар для Verevkin
10297 / 5720 / 1268
Регистрация: 12.03.2015
Сообщений: 26,488
23.03.2020, 09:23
Дай файл.
0
1 / 1 / 0
Регистрация: 08.02.2016
Сообщений: 22
23.03.2020, 09:36  [ТС]
https://cloud.mail.ru/public/5JGm/4pTp4fa7c
0
Злостный нарушитель
 Аватар для Verevkin
10297 / 5720 / 1268
Регистрация: 12.03.2015
Сообщений: 26,488
23.03.2020, 10:02
Shippo, да файл большой.
Для начала я взял демо-приложение XMLBrowser из пакета JVCL, скомпилил его и попробовал загрузить твой файл. Прога файл загрузила, но на парсинге выпала в осадок с ошибкой OutOfMemory. Это было ожидаемо.

Пришлось мне чуть пошаманить и собрать из тех же исходников 64-битную версию той же проги. И таки да! На этот раз прога файл обработала, хотя обработка шла около минуты и схавала почти 4 гига памяти. Можешь убедиться:



Прикольно было смотреть в диспетчере, как прога освобождает древовидную структуру из памяти после нажатия на кнопку закрытия. Выгрузка шла секунд 15, но прога завершилась корректно.

Делай выводы. Саму прогу (x64) прицепляю. Экспериментировать в этой проге с твоим файлом не рекомендую на компах, где меньше 8 гиг памяти (у меня тут 12).
Вложения
Тип файла: 7z JvXMLBrowser.7z (1.34 Мб, 7 просмотров)
0
1 / 1 / 0
Регистрация: 08.02.2016
Сообщений: 22
23.03.2020, 10:23  [ТС]
Спасибо, посмотрю

Добавлено через 14 минут
я так понимаю, что для 32-х разрядного приложения решения пока не существует?(
0
23.03.2020, 10:34

Не по теме:

Цитата Сообщение от Shippo Посмотреть сообщение
что для 32-х разрядного приложения решения пока не существует?(
это из разряда "мне нужно точно 100% отобразить пользователю эксельку на 100млн строк"

подумайте - оно вам точно нужно?

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
23.03.2020, 10:34
Помогаю со студенческими работами здесь

Не хватает системных ресурсов при установке одного драйвера
Добрый день, друзья! Возникла проблема, давно был установлен Tunngle и при очередном входе он обновился и удалил адаптер TAP win... ...

1С И JavaScript. XMLHttpRequest+ Xml. Что не хватает?
Создали веб сервис на 1С. Все хорошо. Установили SoapUI 5.2.1 Там проверяем, создаем новое соединение . В качестве Initial WSDL...

Обработку xml сообщения на языке Си
Нужно сделать обработку xml сообщения на языке Си под FreeBSD! кто уже делал подскажите как это лучше сделать! заранее спасибо!!!

Запрос SQL на обработку большого количества xml файлов
Доброго времени суток помогите двинуться с места имеется n-ное (более тысячи) количество xml файлов одинаковой структуры, которые...

Как организовать клиент-сервер, а так же передачу и обработку XML
В общем вопрос такой, я не знаю как делать обращение к серверу xml, что-бы я мог отправить и принять его. Какую библиотеку надо подключать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru