Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Работа с Excel в C++ Builder / 13 сообщений из 13, страница 1 из 1
30.10.2003, 10:58
    #32309968
DSL
DSL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с Excel в C++ Builder
Помогите решить проблемку:
Создаю объект
Variant Excel;
try
{
Excel = CreateOleObject("Excel.Application");
}
catch(...)
{
Application->MessageBox("Нет возможности запустить MS Excel","Ошибка",16);
return;
}
Variant books;
books = Excel.OlePropertyGet("Workbooks");
books.OleProcedure("Add");
Excel.OlePropertySet("Visible",1);
//
//Тут я чего-то делаю или могу ничего не делать
//
books.Clear();
Excel.Clear();

После этого получаю независимо от основного приложения работающий MS Excel, могу в нем работать, делать все что мне захочется, но если я затем закрываю его, то прииложение Excel исчезает, а процесс excel.exe остается и сидит в памяти до тех пор пока я не закрою основное приложение (которое запестило Excel.Application). Если запустить несколько копий Excel.Application, то после их закрытия остянется несколько процессов excel.exe, и все будут занимать определенное количество ресурсов.
Как обойти этот неприятный момент?
...
Рейтинг: 0 / 0
30.10.2003, 16:38
    #32310708
DSL
DSL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с Excel в C++ Builder
Забыл сказать, C++Builder 4 версия
...
Рейтинг: 0 / 0
30.10.2003, 17:52
    #32310883
SAnatoliy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с Excel в C++ Builder
тут есть три урока и показано как закрыть правильно.

Насколько я понимаю, ты не закрываешь приложение, а просто очищаешь переменные. ( может и ошибаюсь. я не силен в программир.)
...
Рейтинг: 0 / 0
30.10.2003, 18:00
    #32310900
DSL
DSL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с Excel в C++ Builder
Закрываю не я (не программа). Закрывает пользователь, который работает с Excel, а после закрытия Excel не выгружается из памяти, а только становится невидимым, и сидит в памяти пока не закроется программа его запустившая. Проверил на C++ Bulder 3- там все нормально, похоже проблема именно в 4-м билдере, может кто сталкивался с подобным? подскажите плиз.
...
Рейтинг: 0 / 0
31.10.2003, 13:40
    #32311783
MrAlex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с Excel в C++ Builder
Поробуй: Excel = Unassigned;
...
Рейтинг: 0 / 0
31.10.2003, 13:56
    #32311823
Hunter_eea
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с Excel в C++ Builder
После того как ты открыл Excel, и он перестал быть тебе нужен, оторвись от него, т.е. верни ему его права, вот как на билдере это сделать не знаю, я на VC пишу

--
Best regards by
-=]HUNTER[=-
...
Рейтинг: 0 / 0
31.10.2003, 14:10
    #32311850
JibSkeart
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с Excel в C++ Builder
покаожи хотя бы как на VC
...
Рейтинг: 0 / 0
31.10.2003, 14:45
    #32311913
Hunter_eea
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с Excel в C++ Builder
|>
|> http://%5Dhttp://www.kuban.ru/forum_new/forum2/arhiv/2426.html%5B/url]


--
Best regards by
-=]HUNTER[=-
...
Рейтинг: 0 / 0
01.11.2003, 10:22
    #32312472
Hunter_eea
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с Excel в C++ Builder
Черт что-то сглючило :-(
вот пара ссылок:
1.
http://www.kuban.ru/forum_new/forum2/arhiv/2426.html
2.
http://www.rusdoc.ru/material/lang/cpp/import.shtml

--
Best regards by
-=]HUNTER[=-
...
Рейтинг: 0 / 0
03.11.2003, 09:02
    #32313021
SAnatoliy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с Excel в C++ Builder
Посмотри по этой ссылки:
--w.cbuilder.ru/WinLesson/Winles.htm


P.S.
Я например у себя закрываю таким способом:

..........
Apps.OleProcedure("Quit");
...
Рейтинг: 0 / 0
03.11.2003, 10:26
    #32313137
DSL
DSL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с Excel в C++ Builder
--P.S.
--Я например у себя закрываю таким способом:
--
--..........
--Apps.OleProcedure("Quit");

Я тоже так закрываю, если нужно, только одинаково приятно, что руками закрыть что так, процесс excel.exe остается в памяти до завершения работы приложения .
И такой глюк в Builder 4. В Builder 3 его нет
...
Рейтинг: 0 / 0
04.11.2003, 13:42
    #32314746
DarkCat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с Excel в C++ Builder
а Builder 5 или Builder 6 поставить не пробовал?
Я в 6ом делаю так:

Код: plaintext
1.
2.
3.
4.
if(Excel.Type() != varBoolean)
   {
    Excel.OleFunction( "Quit" );
    Excel = Unassigned;
   }

и процесса нет.

...
Рейтинг: 0 / 0
04.11.2003, 15:48
    #32314960
DSL
DSL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с Excel в C++ Builder
Делаю практически то же самое. Нопроцесс есть.
И такой глюк только в 4-м билдере.в 3,5,6 такого нет. Но самое печальное то, что четвертый билдер у нас лицензионный, и компилять желательно на нем.
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Работа с Excel в C++ Builder / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]