Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как убить приожение?


kaktus ©   (2004-12-03 14:58:00) 

Доброго всем суток времени!
У меня такая проблема:
при обработке события OnClose я выполняю следующие действия:
procedure TfMain.FormClose(Sender: TObject; var Action: TCloseAction);
var
i : Integer;
FalseParam : OleVariant;
begin
FalseParam := False;
for i := 0 to 10 do
 delTemp;                //Очистка временной таблицы базы данных
WordApp.Quit(FalseParam);//Закрываю коннэкт с Word-ом
Application.Free;        //Пробывал Destroy
end;
После всего этого процесс все еще висит в оперативке, и при последующем запуске ругается не красивыми словами мастдая типа: Допущена ошибка .... и т. д.


kaktus   (2004-12-06 12:10:00) [1]

>WordApplication.Disconnect сделали по окончании работы с >Word'ом?

Когда я такое делал у меня выскакивал меседж с предложением сохранить документ, а это мне надо меньше всего-понимаете я работаю с вордовским словарем для проверки синтаксиса вводимого текста в RichEdit1. Для этого я проделал следующее:

var
FalseParam:OleVariant;
begin
FalseParam := False;

...

WordApp.Quit(FalseParam);
end;
Меседж не появляется - ну всеравно мне не нравиться, что после программного завершения работы программы - ее процесс все еще висит в диспечере задач.


VMcL   (2004-12-04 13:54:00) [2]

>> kaktus  (03.12.04 17:45) [11]

WordApplication.Disconnect сделали по окончании работы с Word'ом?


kaktus   (2004-12-03 17:45:00) [3]

Есть такой хороший не визуальный элемент управления как WordApplication и WordDocument - вот ими я и пользуюсь! Какое создание, какое обьявление????? Это не простые строки кода - а волшебные - я скажу так: с вордякой у меня проблем нет - закрывается как милинький! А вот форма - главная - не хочит киллица - по сути - сама форма хайдится, но не уничтожается.


VMcL   (2004-12-03 17:25:00) [4]

>> kaktus  (03.12.04 16:09) [9]

Это не создание и не объявление, а просто какие-то две строки кода.


kaktus   (2004-12-03 16:09:00) [5]

WordApp.Connect;
WordDoc.ConnectTo(WordApp.Documents.Add(EmptyParam, EmptyParam));


Sergey_Masloff   (2004-12-03 15:44:00) [6]

kaktus   (03.12.04 15:37) [7]
Ну покажи как ты создаешь свой WordApp - ты ж объявление не привел. С вариантом это если работаешь через позднее связывание (late binding) если через vtable непосредственно то интерфейс по другому высвободить надо. Вобщем, показывай все - как объявил как создал.


kaktus   (2004-12-03 15:37:00) [7]

>WordApp := Unassigned;
не работает!
[Error] main.pas(697): Incompatible types: 'TWordApplication' and 'Variant'


Sergey_Masloff   (2004-12-03 15:32:00) [8]

Тут имхо дело в следующем.
Имеем WordApp связаный с COM-объектом Word-а. Даем ему команду себя закрыть (при этом ссылка интерфейсная повисает). Затем закрываем приложение. Оно честно хочет сделать варианту АнЭссайн что приводит к обращению к интерфейсу реализация которого выгружена уже. С непредсказуемыми последствиями.
 Это только предположение но думаю похоже на истину.


Sergey_Masloff   (2004-12-03 15:29:00) [9]

Вместо
WordApp.Quit()

сделай
WordApp := Unassigned;

Application.Free()  не нужно


Verg   (2004-12-03 15:13:00) [10]


> [3] kaktus   (03.12.04 15:07)


Так может вопрос все же "почему-то по close не срабатывает", а не subj ?

А то, ведь я скажу - "нажми кнопку Power" и твой вопрос будет снят, не так ли?


kaktus   (2004-12-03 15:07:00) [11]

>Это-то зачем?
А затем что по клоуз не фига не срабатывает!


ssk   (2004-12-03 15:04:00) [12]

1. Application.Terminate
2. Halt


Verg   (2004-12-03 15:04:00) [13]


> Application.Free;        //Пробывал Destroy


Это-то зачем?


Наверх

Титульная страница Поиск, карта сайта Написать письмо