![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Можно ли как-нибудь узнать результат выполнения [D5]
Ega23 © (2006-12-11 10:10:00)RegSvr32?
Есть программка, регистрирующая по заданному списку dll с СОМ-объектами. Там всё довольно тупо:
CurrDir := ExtractFileDir(ParamStr(0));
for i := 0 to DllList.Count - 1 do
WinExec(PChar('regsvr32 ' + CurrDir + DllList.Strings[i]), SW_SHOW);
DllList : TStringList.
Так вот, можно-ли узнать результат того, что в WinExec на клиенте?
umbra (2006-12-11 11:07:00) [1]однозначно определить результат регистрации сервера можно лишь попытавшись создать его экземпляр. Выяснить, сколько раз там регистрировалась библиотека невозможно (если, конечно, библиотека сама при регистрации не пишет подобные данные куда-нибудь)
BiN (2006-12-11 11:04:00) [2]
> Ega23 © (11.12.06 10:59) [6]
Может поможет RegisterComServer из ComObj(?)
Ega23 (2006-12-11 10:59:00) [3]
> написание своего regsvr32 сводится к вызову DllRegisterServer/
> DllUnregisterServer.
Да ну, так просто?
Ну спасибо, побежал писАть, вопрос снят... :о)
BiN (2006-12-11 10:50:00) [4]
> Ega23 © (11.12.06 10:41) [3]
>
> Имеется ввиду - зарегистрировался СОМ-объект, или нет.
написание своего regsvr32 сводится к вызову DllRegisterServer/ DllUnregisterServer.
Ega23 (2006-12-11 10:42:00) [5]
> в реестре можно поискать GUID или ProgId.
Не выход, могла быть попытка перерегистрации.
Ega23 (2006-12-11 10:41:00) [6]
> Под "результатом" имеется ввиду код завершения процесса?
Имеется ввиду - зарегистрировался СОМ-объект, или нет.
umbra (2006-12-11 10:22:00) [7]в реестре можно поискать GUID или ProgId.
BiN (2006-12-11 10:18:00) [8]Под "результатом" имеется ввиду код завершения процесса? В этом случае нужно вместо WinExec использовать ShellExecuteEx или CreateProcess.