Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2007.10.21;
Скачать: [xml.tar.bz2];

Вниз

Midas Insufficient memory for this operation    Найти похожие ветки 

 
Лёля   (2007-06-12 17:46) [0]

Есть ClientDataSet, он связан с TXMLTransformProvider, для которого указан файл трансформации (TransformRead.TransformationFile = SomeFile.xtr). В цикле XMLTransformProvider"у указывается очередной файл XML, который нужно вычитать:
     ClientDataSet.Close;
     XMLTransformProvider.XMLDataFile := "SomeFileName.xml";
     ClientDataSet.Open;

где-то на десятой итерации вываливается с ошибкой "Insufficient memory for this operation". Попыталась употребить  MIDAS PATCH Version 2.07:
...This unit is a patch for the midas.dll. It is build to eliminate the "Insufficient memory for this operation"-error which can occur in midas
communication. An interesting side-effect of the patch is nice performance improvement...

И тоже не помогло. Что же делать и как быть?


 
Правильный Вася   (2007-06-12 17:51) [1]

версия какая? патч к этой версии пожходит? источник патча?


 
Лёля   (2007-06-12 19:02) [2]

midas.dll версии 6.0.10.157 (то есть патч подходит), взят с http://cc.codegear.com/Item/20524
можно взять отсюда http://slil.ru/24502565

Delphi 6.0 (Build 6.240) Update Pack 2


 
Правильный Вася   (2007-06-12 19:14) [3]

секция
// SELECTING MEMORY MANAGER
изучена?


 
Лёля   (2007-06-12 20:01) [4]

Ничего не отключала. Так и остается
{DEFINE HEAPALLOC}
{$DEFINE MEMMGR}
то есть DelphiMM. На всякий случай и в опциях проекта добавила MEMMGR


 
Лёля   (2007-06-12 20:04) [5]

с подключенным ShareMem - та же ситуация


 
Лёля   (2007-06-13 13:34) [6]

А дома Delphi7 и Turbo. midas.dll, соответственно, от Turbo - версия 10.0.2151.25345. Патч не применяю. Вылезают те же ошибки. Пробовала создавать/освобождать TClientDataSet динамически на каждой итерации. С тем же успехом валится там же.


 
Johnmen ©   (2007-06-13 14:04) [7]

Вы до сих пор пользуете midas.dll вместо юнита MidasLib? Тогда мы не идём к вам...


 
Лёля   (2007-06-13 14:26) [8]

а MidasLib разве не использует тот же функционал, что и в ДЛЛ? Мне сейчас пока не нужно переносить приложение на системы без midas.dll


 
Лёля   (2007-06-13 14:36) [9]

кстати, с MidasLib тоже сбоит


 
sniknik ©   (2007-06-13 14:43) [10]

а может всетаки не он? не мидас.
а ошибка в данных например, сам файл, десятый по счету  (на каком там сбой?) очень большой... глюк в программе (не только мидасу может памяти не хватать).
сделай новый проект с минимумом кода, только с открытием датасета, так сбоит?


 
Лёля   (2007-06-13 14:58) [11]

Хм... максимальный размер XML-файла меньше 500 кило. Его и выбрала для минимального проекта. Ну так и есть. 500 - это много. До этого пробовала на файлах меньшего размера. Спасибо, дорогой товарищ, что вовремя ткнули носом! Одна беда - и что теперь? Распарсивать вручную там не очень кузяво


 
Лёля   (2007-06-13 15:01) [12]

Но кстати, ругается все равно на мидас.длл


 
sniknik ©   (2007-06-13 16:29) [13]

> и что теперь?
вот тут есть упоминания парсеров, что не тянут весь файл в память...
http://delphimaster.net/view/15-1180862939/
можеш использовать их. а можеш заменить xml чем нибудь более подходящим для задачи (если вообще заменяемо, а не исходные данные в нем).


 
Правильный Вася   (2007-06-13 16:48) [14]

попробовать FastMM ?


> Вы до сих пор пользуете midas.dll вместо юнита MidasLib?

в описалове написано, что проблема однофигственно проявляется в обоих


 
sniknik ©   (2007-06-13 17:05) [15]

> попробовать FastMM ?
он что из 512мг оперативки 1024мг сделает? ну, пусть он оптимальнее работает с памятью, ну пусть выгадаешь 10, 20 или даже 100мг... и данный файл откроется (и даже немного больше)... а завтра придет(/получится) не на 100 а на 200 мг. больше... или программу надо будет запустить на другом компе с 384мг... и все по новой.

в общем не выход. даже если получится.


 
Лёля   (2007-06-13 18:15) [16]

Ага, FastMM не выход. Не получилось - файлик не открылся. Как с мидас-патчем, так и без него.
А оперативки и так гиг :)
XML незаменяем, поскольку в нем данные, а с парсерами в данной задаче гораздо больше головной боли (хотя и использую в других частях проекта).


 
sniknik ©   (2007-06-13 20:07) [17]

> А оперативки и так гиг :)
а компонентов то у тебя и так 2 которые, теоретически, могут держать полную копию данных...
+ "развернутые" данные могут занимать, и скорее занимают, места поболее чем исходные в файле... (это обьясняет куда девается виртуальная память из свопинга... а может с ней не умеет работать ктото из них)

если хочеш пришли проблемный файл, попробую на 2х гигах, если откроется то дело ясное будет в чем причина. (исключиться что данные запороты и т.д.)



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2007.10.21;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.5 MB
Время: 0.047 c
15-1190708630
KSergey
2007-09-25 12:23
2007.10.21
Программы нагрузки для процессоров


15-1190385700
Windows_XP
2007-09-21 18:41
2007.10.21
Легально ли использовать Windows XP Home Edition в комерческих целях?


2-1191228928
F@T@L_Err0r
2007-10-01 12:55
2007.10.21
Завершение работы windows


15-1190059133
leonidus
2007-09-17 23:58
2007.10.21
Подскажите где найти компонент


2-1191223741
F@T@L_Err0r
2007-10-01 11:29
2007.10.21
Media player





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский