|
|
Регистрация | << Правила форума >> | 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); Памяти на компе полно свободной. Вообще не знаю, куда копать. |
#2
|
|||
|
|||
Для начала попробуй запустить программу из под админа.
|
#3
|
|||
|
|||
Полно свободной ОЗУ или ПЗУ?
|
#4
|
|||
|
|||
Цитата:
Цитата:
И того и другого. Попробовал уже перекомпилировать прогу в Delphi 2010. Та же самая ошибка Код ошибки: 8007000e Последний раз редактировалось Praefectus, 11.01.2018 в 13:53. |
#5
|
||||
|
||||
Повторил приведённый код, ошибок нет, работает, возникло лишь предположение - обычно не напрямую с открытой книгой работают, а с её копией, вместо
Код:
... XL.WorkBooks.Add(path); ... Код:
var Workbook: OLEVariant; ... Workbook:= XL.WorkBooks.Add(path); Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
#6
|
|||
|
|||
Цитата:
Везде работает, кроме этого компьютера Цитата:
Неа, не помогло |
#7
|
||||
|
||||
Цитата:
может система сильно загажена, я бы сначало переустановил винды или откатил до точки восстановления и потом делал выводы, случайно, ничего "тяжёлого" на этот экземпляр в последнее время не пихали? Я не понял Вашего вопроса, но всё же Вам на него отвечу! |