К списку форумов К списку вопросов
Работа с Excel из Delphi.
Посторонним В
03.05.2004 - 12:42
Здравствуйте всем.
Возникла проблема с программкой, которая должна сохранять данные в несколько excel-овских файликов. Программа не моя, кода сейчас под рукой нет, ну, там было приблизительно так (прошу прощения за возможные неточности, давно с паскалем не имел дела):
var
  E:Variant;
begin
  E := CreateOleObject(Excel.Application);
  //что-то делается с E.WorkBook.Cells[i][j]
  //что-то типа E.WorkBook.Save
  E.Quit;
  E := Unassigned;
end;
Вся эта штука крутится в цикле ~ 50 раз.
Собираю это дело на машине с Windows XP и Office 2000 - все работает аж бегом. Несу на другую машину с 98-й виндой и 97-м офисом - вылетает "Ошибка при запуске чего-то там". И в списке приложений висит 3-4 Excel-я.
Я так себе понимаю, что программа некорректно закрывает объект OLE.
Как можно с этим бороться?
Может, в Delphi вместо пакета с компонентами для 2000 офиса зарегистрировать пакет для 97-го и пересобрать?
Или нужно по-другому закрывать объект (т.е. присваивание Unassigned не годится)?
Delphist
1 - 03.05.2004 - 13:09
1. Где-то на одной из форм лежит копонент TExcelApplication/TExcelWorkbook/и т.п., который в свою очередь хочет быть объектом Office2000
2. Посмотри модули в списке USES (как interface, так и implementation), для каждого PAS-файла. Где-то притаился модуль Excel2000.
.
Других идей пока нет.
9600
2 - 04.05.2004 - 08:15
Попробуй перед E.Unassigned поставить E.Disconnect

К списку вопросов на форуме Программирование

>>