![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Установлен ли Word [D7, Win2k]
Anatoliy T. © (2005-03-02 17:36:00)Прошу помочь! Формирую отчет в документ Word, но для корректности работы приложения хотелось бы для начала программно узнать, а установлен ли на машине сам Word.
Anatoliy T. (2005-03-03 15:14:00) [1]Спасибо за помощь! Этого вполне достаточно. Решение проблемы вполне прозрачно, почему сам не догадался??? Наверно заклинило!
boalse (2005-03-03 08:45:00) [2]
> Зачем же так пользователя дезинформировать.
Лучше написать "Не могу сформировать отчет. ВОЗМОЖНО не установлен Word!"
И никакой дизинформации, только предположение. Русский язык - сила!
GanibalLector (2005-03-03 03:11:00) [3]2 Германн © (03.03.05 02:42) [7]
Хм...ошибся ;)
Естественно,имелось ввиду : Word.Application
Германн (2005-03-03 02:42:00) [4]А "Excel Application" так ли уж необходимо проверять, чтобы определить установлен ли Word? :)
GanibalLector (2005-03-03 01:52:00) [5]
var ClassID:TCLSID;
begin
if CLSIDFromProgID('Excel.Application', ClassID)<>S_OK then
begin
Messagedlg('Создание документа невозможно!!!'+#10#13+
'Не установлен Word Application',mterror,[mbok],0); Exit;
end;
...
Набережных С. (2005-03-02 18:33:00) [6]CLSIDFromProgID
Gero (2005-03-02 17:44:00) [7]
> jack128 © (02.03.05 17:41)
А если исключение произойдет по какой-то другой причине?
Зачем же так пользователя дезинформировать.
Digitman (2005-03-02 17:43:00) [8]простейший, но не всегда оптимальный вариант :
try
OleVar := CreateOleObject('Word.Application');
except
//с достаточной долей вероятности Ворд не установлен
end;
jack128 (2005-03-02 17:41:00) [9]ну так и определяй:
try
WordAppl := CreateOleObject('Word.Application');
except
raise Exception.Create('Установите word!!!!!!!!');
end;
try
// формируй отчет
finally
WordAppl.Quit;
end;
ancara (2005-03-02 17:39:00) [10]можно попытаться прочитать параметр '' из раздела HKEY_CLASSES_ROOT\Word.Application\CurVer