Главная страница
    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.045 c
2-1191273430
San1712
2007-10-02 01:17
2007.10.21
Как программно менять обои на рабочем столе ?


2-1190791085
smartleds
2007-09-26 11:18
2007.10.21
Добрый день, подскажите плз при помощи нажатия на кнопку создать


11-1174410437
Dmitriy___
2007-03-20 20:07
2007.10.21
ListView - проблема с LVItems


15-1190355579
zdm77
2007-09-21 10:19
2007.10.21
ICQ игнор


6-1171959552
santey
2007-02-20 11:19
2007.10.21
Как установить статический ип на сетевом адаптере





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский