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

Вниз

Освобождать или освобождено?   Найти похожие ветки 

 
1008 ©   (2004-06-07 11:15) [0]

Хочу попользовать M$ Word в качестве генератора отчётов для чего делаю следующее:
var
WordApp:TWordApplication;
WordDoc:TWordDocument;
...
begin
try
 WordApp:=TWordApplication.Create(ReportForm);
 WordDoc:=TWordDocument.Create(ReportForm);
except
 messagebox(0,"M$ Word not found!","Error!",mb_ok);
 Close;
end;

Есть ли необходимость, в случае возникновения ошибки, осовбождать переменные WordApp и WordDoc? (WordApp.Free; WordDoc.Free;) Или же ресурсы выделенные под эти переменные будут освобождены автоматически?


 
Skier ©   (2004-06-07 11:21) [1]


> Или же ресурсы выделенные под эти переменные будут освобождены
> автоматически?

Не будут.


 
1008 ©   (2004-06-07 11:25) [2]

Skier ©  (07.06.04 11:21) [1]

То есть мне надо делать следующим образом:

except
 WordApp.Free;
 WordDoc.Free;
 ...
end;

?


 
KSergey ©   (2004-06-07 11:28) [3]

Вы создали обычный дельфийский объект.
Будьте любезны его уничтожить.

Правда, тут есть нюанс: раз указан Owner - то с разрушением формы эти объекты все же будут уничтожены. Но по хорошему - раз уж сам создал - лучше, наверное, самому и уничтожить.


 
1008 ©   (2004-06-07 11:31) [4]

Спасибо откликнувшимся.


 
KSergey ©   (2004-06-07 14:47) [5]

Да, и к стати: в [2] 1008 ©   (07.06.04 11:25) - не except.
Ведь в случае отсутствия исключений уничтожить объект все равно надо, верно? ;)



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

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

Наверх




Память: 0.48 MB
Время: 0.023 c
1-1086524949
Дас Виндовс 45
2004-06-06 16:29
2004.06.20
Сортировка


4-1084372310
Неуловимый Джо
2004-05-12 18:31
2004.06.20
Повторный запуск проги и передача ParamStr()


14-1086339695
Nick-From
2004-06-04 13:01
2004.06.20
Еду в командировку первый раз


1-1086669113
Анатолий
2004-06-08 08:31
2004.06.20
BDE снесли без унинстала, как его удалить из реестра?


1-1086675201
ancara
2004-06-08 10:13
2004.06.20
ошибка Integer overflow