Вниз
Скачать: CL | DM;

Out of memory   Найти похожие ветки 

← →
pirate ©   (2006-05-06 16:36) [0]

Здраствуйте, уважаемые!
Суть проблемы такова:
есть типы:


type TWord=record
wrd:shortString;
descr:AnsiString
end;

type TDict=record
count:longint;
words:array of TWord;
end;

var Dahl:TDict;

.......
в цикле происходит следующее:
Dahl.count:=Dahl.count+1;
         SetLength(Dahl.words,Dahl.count);
         Dahl.words[Dahl.count-1].wrd:=s2;
         Dahl.words[Dahl.count-1].descr:=s3;

.......

Что я хотел сделать:
Я хотел загрузить толковый словарь Даля в переменную Dahl из файла, представляющую собой динамический массив.

.wrd - это само слово
.descr - это его смысловое значение (следует отметить, весьма объемное, иногда достигает ~500 байт)

По обработке ~8400 слов выдается "Access denied...***###$%...Out of memory...&%**&(("

Вот так вот.


← →
Сергей М. ©   (2006-05-06 16:40) [1]


> хотел загрузить толковый словарь Даля


Серьезная заява)

А нафига ?
Можно поинтересоваться ?
Далев "словобукварь" - серьезное и весьма информационноемкое творение. вряд ли оно уместится в  два далеко не полных Гб, отведенных для твоего программного творчества под Win32 ..


← →
han_malign ©   (2006-05-06 16:58) [2]

убери shortString - поднимешь количество раза в 2/3, за счет уменьшения фрагментации...

Но, самое простое, с минимальной фрагментацией - загрузить файл целиком в память(если влезет), проставить #0 в конце "Статей", и заполнить массив PChar-ов (размер которого узнали на этапе проставления нулей)(если хватило места под него) указателями на начало "Слов"... Слова от Статей отделять динамически(для уменьшения использования памяти)...

А лучше, все таки, заполнить массив "Слов" и смещений соответствующей "Статьи" в файле, и подчитывать статью динамически(500 мс максимум - если винчестер подыхает)...


← →
pirate ©   (2006-05-06 17:09) [3]


> вряд ли оно уместится

16.5 MB в текстовом файле.. Вот оно как.

> заполнить массив "Слов" и смещений соответствующей "Статьи"
> в файле, и подчитывать статью динамически

- а это ты тему подсказал! Решение достойное профессионала!
Спасибо!


← →
han_malign ©   (2006-05-06 17:09) [4]


> Далев "словобукварь" - серьезное и весьма информационноемкое творение.

http://lib.km.ru/?id=2871
~18Мб
- не вопрос


← →
TUser ©   (2006-05-08 12:15) [5]

Все равно в памяти это хранить не нужно.



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.026 c
15-1148455238
alles
2006-05-24 11:20
2006.06.18
Знатокам asp


15-1148226217
Volf_555
2006-05-21 19:43
2006.06.18
Как установить/запустить/настроить IRC-сервер?!


2-1149247422
XTD
2006-06-02 15:23
2006.06.18
Объясните как написать функцию с возвратом ?


4-1143037786
Arazel
2006-03-22 17:29
2006.06.18
ListBox под WinApi это не проблема! А вот со скинами это слабо!


2-1148850258
wsih
2006-05-29 01:04
2006.06.18
Сортировка TreeView




   Наверх