Вниз
Скачать: 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.052 c
2-1171294669
DimitrySDA
2007-02-12 18:37
2007.03.04
Сканирование каталогов и отображение в ListView


2-1171378612
newbie2
2007-02-13 17:56
2007.03.04
Breakpoin не отрабатывает


2-1171449625
Vlad Oshin
2007-02-14 13:40
2007.03.04
А есть какие то способы отладки CGI приложений? Какие?


15-1171050265
@!!ex
2007-02-09 22:44
2007.03.04
Модем отказываеться подключать к инету.


15-1170894888
hmmm
2007-02-08 03:34
2007.03.04
подскажите хороший бесплатный антивирус




   Наверх