Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.02.03;
Скачать: CL | DM;

Вниз

Коллеги, помогите кто делал репорты в Excell-e, очень надо...!   Найти похожие ветки 

 
CPPBuilderDev ©   (2003-01-16 16:18) [0]

Имеем:
object excel: TExcelApplication
object sheet: TExcelWorksheet
object wb: TExcelWorkbook


Делаем:
excel->Connect();
wb->ConnectTo(excel->Workbooks->Add( xlWBATWorksheet, 0 ));
excel->Visible[0] = true;
sheet->ConnectTo(wb->Get_Sheets()->get_Item(1));
sheet->PageSetup->set_Orientation(xlLandscape);
...


В первый раз все работает ОК.

После чего при попытке повторного выполнения того же кода:
excel->Connect();
wb->ConnectTo(excel->Workbooks->Add( xlWBATWorksheet, 0 ));
excel->Visible[0] = true;
sheet->ConnectTo(wb->Get_Sheets()->get_Item(1));
sheet->PageSetup->set_Orientation(xlLandscape);
...


Получаем зациклившийся Excel,хотя код программы отрабатывает корректно видимо чего-то не закрыто.

Закрываем:

sheet->Disconnect();
wb->Disconnect();
excel->Disconnect();


Но результат не меняется.
Не помогает и excel->Quit();
Вопрос.
Чего я не так закрываю или какие действия корректно предпринять для правильного закрытия?


 
asmith   (2003-01-16 16:47) [1]

Нужно еще и объект разрушить, если создавал его вручную (из примера это неочевидно). Во всяком случае проверено, что если работать с Excel через позднее связывание и не уничтожить по завершению интерфейсную ссылку явно - Excel останется в памяти.


 
CPPBuilderDev ©   (2003-01-16 16:52) [2]

Создавал не вручную, просто побросал на форму объекты.


 
gsu ©   (2003-01-16 17:03) [3]

NewInstance := true;
...

Excel := TExcelApplication.Create(Self);
if NewInstance then
Excel.ConnectKind := ckNewInstance
else
Excel.ConnectKind := ckRunningOrNew;
Excel.Connect;
поможет ?


 
gsu ©   (2003-01-16 17:06) [4]

и вообще: http://www.delphikingdom.com/helloworld/excel.htm


 
id_privin ©   (2003-01-16 17:34) [5]

я делаю так

Инициализация
ExcelApp := TExcelApplication.Create(nil);
ExcelApp.ConnectKind := ckRunningorNew;
ExcelApp.Connect;

Убийство
FreeAndNil(ExcelApp);

Конектить два раза смысла нет.


 
CPPBuilderDev ©   (2003-01-16 17:38) [6]

Не-а! Тоже самое...


 
CPPBuilderDev ©   (2003-01-16 18:06) [7]

id_privin - большое спасибо Вам коллега, а то к концу дня уже все мозги навыворот. Это же очевидно!!!



Страницы: 1 вся ветка

Текущий архив: 2003.02.03;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.027 c
14-5183
Scream
2003-01-14 23:25
2003.02.03
Всем!Всем!Всем!Всем!Всем!Всем!


1-4911
Shuma
2003-01-25 22:24
2003.02.03
Минимизация формы


1-5029
OxOTHuK
2003-01-23 07:16
2003.02.03
Динамическое создание


7-5288
Сергей И
2002-11-22 15:22
2003.02.03
Мониторинг файла


3-4718
dtm
2003-01-15 14:29
2003.02.03
Не видно выбранного значения в lookup-поле при выборе