Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.028 c
15-1170878024
ProgRAMmer Dimonych
2007-02-07 22:53
2007.03.04
Подскажите мне тёмному...


11-1149004549
parovoZZ
2006-05-30 19:55
2007.03.04
Стоит ли ставить сабж


15-1170795720
Diller_slomalsa_comp
2007-02-07 00:02
2007.03.04
Что у меня за проблема с компьютером?


6-1159598502
Vadim X
2006-09-30 10:41
2007.03.04
Парсинг HTML


5-1149162789
StriderMan
2006-06-01 15:53
2007.03.04
Реализация UNDO (редактор формы)




   Наверх