Показать сообщение отдельно
Старый 09.05.2005, 19:02     # 2
/7y3uK
Advanced Member
 
Аватар для /7y3uK
 
Регистрация: 09.03.2004
Адрес: толстозадая Москва
Сообщения: 498

/7y3uK Реально крут(а)/7y3uK Реально крут(а)/7y3uK Реально крут(а)/7y3uK Реально крут(а)
а какие симптомы у больного?
....
edited:
пардон... не заметил, по поводу массива... ну ессесно он будет у тебя жрать памяти... тыж в динамический массив засовываешь стринги из запроса... а там небось записей тыщ 10... а если не 10к, то на каждый вызов процедуры ты реалок памяти для массива делаешь, так что если записей мало, но процедура вызывается очень часто, то это вот как раз и есть Можно по советовать сделать массив не динамический а статический с каким-нить заранее известным и большим размером - он хоть и будет память жрать, зато не будет так систему напрягать постоянными реалоками...

а зачем ты еще раз запихиваешь данные из запроса в массив?
если уж приперло именно в массив писать - можно поступить вот так:
Код:
PShortcut = ^TShortcuts;
TShortcuts = record
    ID : Integer;
    Name: string;
    Path: string;
    Description: string;
    Comp: integer;
    Price: TPrice;
end;

и хранить только указатели...
чтото типа 

var
p: PShortcut;
list : TList;

...
в процессе итерирования
p := new (PShortcut);
заполняем поля...
list.add(p);

а итерироваться лучше вот так

while (Query.FindNext)
  begin
    ....
    тут мы уже стоим на следующей строке и можем прямо сразу брать нужное и запыхивать куда нада... массив тут не нужен ИМХО
  end;
__________________
В нашей стране настаивать на кореньях, черной смородине, лимонных корках - гораздо эффективнее, чем на правах

Последний раз редактировалось /7y3uK; 10.05.2005 в 01:12.
/7y3uK вне форума