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

Вниз

Как программно узнать зарегистрирован ли COM объект по имени   Найти похожие ветки 

 
Apachi   (2007-01-11 17:37) [0]

Уважаемые мастера
Как программно узнать зарегистрирован (существует ли) ли COM объект по указанному имени


 
Джо ©   (2007-01-11 17:39) [1]

ProgIDToClassID
CreateComObject


 
tesseract ©   (2007-01-11 17:40) [2]


> Как программно узнать зарегистрирован (существует ли) ли
> COM объект по указанному имени


я думаю имеется в виду OLE.

Очень просто

if CreateOleObject("server.classname")= nil  then неустановлен.


 
Apachi   (2007-01-11 17:47) [3]

to tesseract ©

если я указываю в качестве строки "server.classname" имя ком объекта не зарегистрированного в системе то выдает ошибку "Недопустипая строка с указанием класса"
в try except ее пложить что ли


 
Руссо Партизано   (2007-01-11 17:57) [4]


> Apachi   (11.01.07 17:47) [3]

Именно!

Получится что-то типа этого:

var:
 oApp: OleVariant;
 oDoc: OleVariant;
...
begin
 Result := False;
 try
   oApp := GetActiveOleObject("Word.Application");
 except
   oApp := CreateOleObject("Word.Application");
 end;
 oApp.Documents.Open(FileName);
 oDoc:=oApp.ActiveDocument;
...

не забудь в конце

 oApp.ActiveDocument.Close(wdDoNotSaveChanges, EmptyParam, EmptyParam);
 oApp.Quit(EmptyParam, EmptyParam, EmptyParam);
end;

Усё!


 
tesseract ©   (2007-01-11 18:02) [5]


> Руссо Партизано   (11.01.07 17:57) [4]


Читай внимательнее. Нужно узнать есть ли он в системе.


> в try except ее пложить что ли


Ну в общем да :-)


 
Джо ©   (2007-01-11 18:09) [6]

Так-то оно лучше будет, без эксептов-то ;)

function IsRegistered (const AClassName: string): Boolean;
var
 Dummy: TGuid;
begin
 Result := Succeeded(CLSIDFromProgID (PWideChar(WideString(AClassName)),Dummy))
end;



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

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

Наверх




Память: 0.48 MB
Время: 0.034 c
2-1171576922
rts111
2007-02-16 01:02
2007.03.04
Как при добавление новых строк в мемо, сделать авто-прокрутку?


11-1150382734
DevilDevil
2006-06-15 18:45
2007.03.04
Ошибка при установке зеркала


3-1165645262
Ulugbek
2006-12-09 09:21
2007.03.04
Mysql 5 Ошибка в запросе unkown column g.kod_ms in on clause


9-1145082805
Evgeniy_
2006-04-15 10:33
2007.03.04
GLScene, работа с тексурами


2-1171099188
Riply
2007-02-10 12:19
2007.03.04
Извините, немного оффтопа