IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

> Delphi & Msoffice
yur
сообщение 23.03.2005 14:07
Сообщение #1


Гость






Срочно нужна ваша помощь:
Запускаю шаблон Exсel из программы, набиваю данные, сохраняю документ,закрываю Excel. Все вроде нормально, но пока не закрою свою прогу, Excel
висит в процессах, а след-но нет возможности просмотреть созданные документы. Не всегда помогает и выход из моей программы.
Как корректно проверить наличия Excel в процессах и завершить его?
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
volvo
сообщение 23.03.2005 20:43
Сообщение #2


Гость






mj :no:
Код
App := nil;
 К началу страницы 
+ Ответить 
yur
сообщение 24.03.2005 8:36
Сообщение #3


Гость






К моему большому сожалению:
на App:=null эта гадость тоже не реагирует,
а на App:=nil выдает несоответствие типов.
Но все равно всем спасибо за помощь.
 К началу страницы 
+ Ответить 
mj
сообщение 24.03.2005 16:32
Сообщение #4


Adminь
****

Группа: Администраторы
Сообщений: 803
Пол: Мужской
Реальное имя: Евгений

Репутация: -  5  +


Цитата(yur @ 24.03.05 10:36)
К моему большому сожалению:
  на  App:=null эта гадость тоже не реагирует,
  а на  App:=nil выдает несоответствие типов.
Но все равно всем спасибо за помощь.

Нужно присвоить null всем переменным, в которых ты когда либо держал объекты экзеля...
Дело в том что приложение будет закрыто тока когда количество ссылок на его объекты будет равным 0...

Код
procedure TForm1.Button1Click(Sender: TObject);
var
 V: Variant;
begin
 V := CreateOleObject('Excel.Application');
 V.Visible := True;
 V.Quit;
end;

При нажатии кнопки приложение загружаеться и выгружаеться...

Напомню что публиковать e-mail адреса для таких целей запрещено, если хотите, можете просто подписаться на обновление своей темы...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Guest
сообщение 25.03.2005 23:49
Сообщение #5


Гость






Я тут подумал, а что если проблема в том, что я запускаю Excel из дочернего MDI окна, может в материнском прописать процедуру закрытия процесса? Если есть возможность, поверьте кто-нибудь, мне просто слишком много придется переписывать, а времени мало.
Или может я не те или не все нужные модули подключаю? Вот это те, которые я использую в этой форме:
Код

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls, ComCtrls, Buttons, ExtCtrls, Grids, IniFiles, jpeg, DateUtils,
 OleServer, CmAdmCtl, OleCtrls, Chartfx3, ComObj, ActiveX,
 DB, DBTables, Math;
 К началу страницы 
+ Ответить 

Сообщений в этой теме
yur   Delphi & Msoffice   23.03.2005 14:07
NX   Попробуй следующее: procedure TForm1.FormClose...   23.03.2005 14:34
volvo   var ExcelApp : Variant; begin  try ...   23.03.2005 14:34
yur   Может как-то по-другому его открывать? С помощью G...   23.03.2005 15:11
volvo   Попробуй перед закрытием - отсоединить Excel: try ...   23.03.2005 15:45
Guest   На вставку Disconnect'a дельфя выругалась: Pr...   23.03.2005 15:57
mj   App := null;   23.03.2005 19:40
volvo   mj :no: App := nil;   23.03.2005 20:43
yur   К моему большому сожалению: на App:=null эта ...   24.03.2005 8:36
YurKaluga   Я тут решил зарегистрироваться ;) Если будут еще...   24.03.2005 11:43
mj   Нужно присвоить null всем переменным, в которых т...   24.03.2005 16:32
YurKaluga   Спасибо Adminь за напоминание (честно говоря не зн...   25.03.2005 0:55
YurKaluga   Попробовал вставить Quit в цикл, где создаются до...   25.03.2005 10:21
mj   Ну судя по этому коду при выходе из функции у тя ...   27.03.2005 0:27
YurKaluga   А, если я так не могу сделать? У меня в другой про...   28.03.2005 7:46
YurKaluga   А вообще-то, с локальными переменными вроде работа...   28.03.2005 7:54
YurKaluga   :D Огромное СПАСИБО всем, кто помогал! Особенн...   28.03.2005 8:50
Guest   Я тут подумал, а что если проблема в том, что я за...   25.03.2005 23:49


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 28.07.2025 7:20
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"