Конференция "Corba" » регистрация com сервера.. [Delphi, Windows]
 
  • istok (13.01.08 15:10) [0]
    регистрирую ком сервер этой функцией:

    function RegisterServer(const aDllFileName: string; aRegister: Boolean): Boolean;
    type
     TRegProc = function: HResult;
     stdcall;
    const
     cRegFuncNameArr: array [Boolean] of PChar =
       ('DllUnregisterServer', 'DllRegisterServer');
    var
     vLibHandle: THandle;
     vRegProc: TRegProc;
    begin
     Result := False;
     vLibHandle := LoadLibrary(PChar(aDllFileName));
     if vLibHandle = 0 then Exit;
       @vRegProc := GetProcAddress(vLibHandle, cRegFuncNameArr[aRegister]);
     if @vRegProc <> nil then
       Result := vRegProc = S_OK;
     FreeLibrary(vLibHandle);
    end;

    1.а как сделать функцию типа IsServerRegistered(const aDllFileName: string): Boolean - чтоб определяла, зареган ли com сервер?

    2.функция регистрирует com для всех сессий пользователей или только для текущей сессии?

    3.регистрация com сервера работает после ребута, да?
  • Сергей М. © (13.01.08 19:26) [1]

    > как сделать функцию типа IsServerRegistered


    Зачем она тебе нужна, объясни ?


    > функция регистрирует com для всех сессий пользователей или
    > только для текущей сессии?


    Подобная функция обычно просто регистрирует/дерегестрирует фабрику класса в реестре, и к сессиям это не имеет отношения.


    > регистрация com сервера работает после ребута, да?


    Нет.
    Соотв.ф-ка класса позволяет создавать объекты этого класса сразу после регистрации.
 
Конференция "Corba" » регистрация com сервера.. [Delphi, Windows]
Есть новые Нет новых   [134430   +4][b:0][p:0]