Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.01.28;
Скачать: CL | DM;

Вниз

непонятки с памятью   Найти похожие ветки 

 
Marat ©   (2007-01-05 13:42) [0]

В проекте считываю текстовый файл. Если, файл весит 7 МБ, то все происходит нормально. А если файл весит 14 МБ, то вылетает ошибка "Out of Memory". Это проблема с памятью компьютера или связано с какой-нибудь заморочкой в Delphi?


 
Anatoly Podgoretsky ©   (2007-01-05 13:46) [1]

> Marat  (05.01.2007 13:42:00)  [0]

Это проблема в твоей программе.


 
Marat ©   (2007-01-05 13:59) [2]

считываю вот так:
var List, TempList: TStringList; ...
List := TStringList.Create;
TempList := TStringList.Create;
List.LoadFromfile(File_name);
SG.RowCount := List.Count;
for i := 0 to List.Count - 1 do begin
  s := List[i];
  OemToCharBuff(PChar(s), PChar(s), Length(s));
  TempList.CommaText := s;
  if SG.ColCount < TempList.Count then
    SG.ColCount := TempList.Count;
  SG.Rows[i].Assign(TempList);
end;
List.Free;
TempList.Free;
если необходимо, могу показать "кусок" файла


 
Desdechado ©   (2007-01-05 14:06) [3]

как минимум 3 копии одного и того же: List, TempList и (непонятный) SG
зачем так мусорить?


 
Marat ©   (2007-01-05 14:10) [4]

а как надо?
я хочу считать текстовый файл в SG, посчитать кое-чего, и слить результат в MS SQL.


 
Anatoly Podgoretsky ©   (2007-01-05 14:12) [5]

> Marat  (05.01.2007 14:10:04)  [4]

Сразу в SG, без каких либо списков.


 
Marat ©   (2007-01-05 14:13) [6]

кусок файла:
Sun Sep  3 00:00:11 2006
User-Name = "а"
NAS-Port = 209201
...
Timestamp = 1157220011

Sun Sep  3 00:00:26 2006
User-Name = "с"
NAS-Port = 209201
...
Timestamp = 1157220026


 
Marat ©   (2007-01-05 14:14) [7]

> Сразу в SG, без каких либо списков.
ну да
ну сначала:
OpenDialog1.Execute;
File_name:=OpenDialog1.FileName;


 
tesseract ©   (2007-01-05 15:58) [8]

StringGrid для таких объёмов не предназначен, реализуй лучше свой механизм отображения. Да и отображаемые файлы никто не отменял.


 
Джо ©   (2007-01-05 16:09) [9]

> [7] Marat ©   (05.01.07 14:14)
> ну сначала:
> OpenDialog1.Execute;
> File_name:=OpenDialog1.FileName;


if OpenDialog1.Execute then
begin
 File_name:=OpenDialog1.FileName;
 ...
end;


Хоть к теме непосредственно отношения не имеет...


 
Marat ©   (2007-01-08 06:44) [10]

всем спасибо. получилось через массив



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

Текущий архив: 2007.01.28;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.044 c
15-1168429117
Post_
2007-01-10 14:38
2007.01.28
Шфрование...


1-1164903061
CaSH_
2006-11-30 19:11
2007.01.28
TreeView при выделении строки иконка меняется (продолжение 2)


15-1167767370
First
2007-01-02 22:49
2007.01.28
Оптимизация игры


2-1168102357
Sholah_Weras
2007-01-06 19:52
2007.01.28
И таки опять поиск необходимых слов в строке.


2-1168586629
vitv
2007-01-12 10:23
2007.01.28
Выполнение 2-х запросов последовательно