Программа работает с MSSQL через BDE. Используются TDataBase, TQuery.
Подозреваю вот эту процедурку(выполняется неоднократно):
Код:
procedure TMainForm.GetShortcuts;
var
i:integer;
begin
//Чистим иконки
ShortcutIcons.Clear;
//Получаем установленные ярлычки
Query.Close;
Query.SQL.Clear;
Query.SQL.Add('SELECT a.AppName, a.AppDescription, ca.AppPath FROM T_Clients_Apps as ca, T_Applications as a WHERE ((ca.App_ID=a.App_ID) AND (ca.ClientNumber='+IntToStr(CompNum)+')) order by a.AppName');
//Пихаем в массив
Query.Open;
SetLength(Shortcuts,0);
i:=0;
Query.First;
while (not Query.Eof) do
begin
SetLength(Shortcuts, Length(Shortcuts)+1);
Shortcuts[i].Name:=Query.FieldByName('AppName').AsString;
Shortcuts[i].Path:=Query.FieldByName('AppPath').AsString;
Shortcuts[i].Description:=Query.FieldByName('AppDescription').AsString;
inc(i);
Query.Next;
end;
//Перерисовываем
for i:=0 to High(Shortcuts) do
begin
GetIcon(Shortcuts[i].Path, 0, ShortcutIcons);
VShortcuts.AddItem(Shortcuts[i].Name,nil);
VShortcuts.Items[VShortcuts.Items.Count-1].ImageIndex:=i;
end;
VShortcuts.Refresh;
end;
VShortcuts - TListView.
Shortcuts - TShortcuts.
ShortcutIcons - TImageList.
Код:
TPrice = array of record
TimeStart, TimeEnd: TDateTime;
Price30, Price60, Price90, Price120, PriceInf: Real;
end;
TShortcuts = array of record
ID : Integer;
Name: string;
Path: string;
Description: string;
Comp: integer;
Price: TPrice;
end;
Если кто знает в чём причина и как бороться - помогите.
Спасибо.