Вниз
Скачать: 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.027 c
1-1168326736
Егоров А.Н.
2007-01-09 10:12
2007.03.04
Подключение внешних программ


15-1170709738
Tirael
2007-02-06 00:08
2007.03.04
зачем этот разъем


1-1168325057
Руссо Партизано
2007-01-09 09:44
2007.03.04
Плавающие ToolBar


2-1171543139
Muscat
2007-02-15 15:38
2007.03.04
Файлы *.rtl . Помогите кто чем может!!!


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




   Наверх