TExcelApplication
Добрый вечер. Возник вопрос при работе на СВ5 с TExcelApplication. Как сделать в консольной программке, чтобы Ексель (в программе объект создается динамически) после закрытия программы не закрывался. Если я не освобождаю память из-под объекта Ексель не закрывается, но впоследствии при обычном закрытии ругается на недопустимую операцию. Подскажите кто-нибудь, как правильно все сделать. Заранее спасибо.
на код посмотреть можно
так со слов трудно что либо сказать
я это делал так :
ExcelWorksheet->Disconnect();
ExcelWorkbook->Disconnect();
ExcelApplication->Disconnect();
а если закрывать -- тогда так:
ExcelWorkbook->Close(True);
ExcelWorksheet->Disconnect();
ExcelWorkbook->Disconnect();
ExcelApplication->Quit();
ExcelApplication->Disconnect();
на код посмотреть можно
так со слов трудно что либо сказать
я это делал так :
ExcelWorksheet->Disconnect();
ExcelWorkbook->Disconnect();
ExcelApplication->Disconnect();
а если закрывать -- тогда так:
ExcelWorkbook->Close(True);
ExcelWorksheet->Disconnect();
ExcelWorkbook->Disconnect();
ExcelApplication->Quit();
ExcelApplication->Disconnect();
код простой:
TExcelApplication* ExcelApplication=new TExcelApplication(NULL);
ExcelApplication->ConnectKind=ckNewInstance;
ExcelApplication->Connect();
_WorkbookPtr book=ExcelApplication->Workbooks->Open(fname);
...
book->Save();
delete ExcelApplication;
в этом случае Ексель остается, но при закрытии ругается. Если сделать дисконнект, а после delete открыть этот файл через execl, все будет нормально (программа закончилась, Ексель работает, файл открыт), но в списке задач после закрытия будет болтаться какой-то Excel. Если делать не execl, а ShellExecute, то тоже будут заморочки.