|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Excel выдаёт ошибку "Недостаточно памяти для выполнения операции"
Народ, помогите. Есть древняя программа на Delphi 7. В ней создаются отчёты в Excel через Ole. До недавнего времени всё отлично работало. Поставили новой сотруднице - стала выдаваться ошибка "Недостаточно памяти для выполнения операции".
Система Win 7 x86, Office 2013. На других компьютерах с той же виндой и тем же офисом всё нормально. Пример кода: Код:
procedure TMenu.N26Click(Sender: TObject); var cntwb:integer; path,sql:string; XL: OleVariant; i,row:integer; const col_count=3; begin try XL:=GetActiveOleObject('Excel.Application'); except XL:=CreateOLEObject('Excel.Application'); end; CntWB:=XL.Workbooks.Count+1; XL.Visible:=True; path:=ExtractFilePath(Application.ExeName)+'Template\org_otch'; XL.WorkBooks.Add(path); XL.Workbooks[CntWB].WorkSheets[1].Name:='Справочник организаций'; ... Ошибка выдаётся на строчке: Код:
XL.Workbooks[CntWB].WorkSheets[1].Name:='Справочник организаций'; Если её закоментить, то на следующем обращении к Excel: Код:
XL.Workbooks[CntWB].WorkSheets[1].Cells(row,1):=inttostr(row-4); Памяти на компе полно свободной. Вообще не знаю, куда копать. |