Июн 18

Ошибка с COM в Delphi приложении

Вобщем ситуация такова, есть приложение писанное на delphi, исползует COM объект (в данном случае для работы с Excel), после завершения выполнения последней строчки кода, т.е. по закрытии приложения выпадает ошибка Access Violation .......... in oleaut32.dll

Рецепт:

Нужно, как вариант, подчищать COM объекты вручную после чего вызывать CoUninitialize. Поскольку я использую компонент классаTExceApplication, размещенный на форме, то вышесказанные действия я выполняю в обработчике FormDestroy этой формы, т.е. выглядит это так:

DELPHI:
  1. procedure TPrintForm.FormDestroy(Sender: TObject);
  2. begin
  3. XL:=nil;
  4. CoUninitialize;
  5. end;

где XL - экземпляр класса TExcelApplication (наш COM объект)

Рекомендуем:

Оставить ответ