Главная страница
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.47 MB
Время: 0.024 c
1-1086255722
ИМХО
2004-06-03 13:42
2004.06.20
EmptyDirectory: Boolean


1-1086691400
Ivolg
2004-06-08 14:43
2004.06.20
Сохранение


14-1086241440
ИМХО
2004-06-03 09:44
2004.06.20
Восстановление данных: помогите помочь


4-1084290588
Nebiyev
2004-05-11 19:49
2004.06.20
Как можно менять язык на контролбаре программно?


14-1086437278
ИМХО
2004-06-05 16:07
2004.06.20
"Молчание ягнят"