Sprawdzenie czy klasa COM jest zarejestrowana

0

Jak sprawdzić czy klasa jest zarejestrowana w systemie ?

 LibraryVersionMajor := 1;
 LibraryVersionMinor := 0;
  hr := LoadRegTypeLib(LIBID_SampleCOM, LibraryVersionMajor, LibraryVersionMinor,0,libb);

  if Succeeded(hr) then
  begin
    writeln('true');
    //libb._Release;
    //libb := nil;
  end
  else
  begin
    writeln('false');
  end;

Zarejestruje DLL

C:\Windows\Microsoft.NET\Framework\v4.0.30319\RegAsm.exe "%~dp0\SampleCOM.dll" /codebase /verbose

kod wypisuje "true"

Wyrejestruje DLL

C:\Windows\Microsoft.NET\Framework\v4.0.30319\RegAsm.exe "%~dp0\SampleCOM.dll"  /unregister /verbose

kod wypisuje "true"

Czy też jedyna metoda to otworzyć obiekt i obserwować czy jest wyjątek "IOleSysError" Klasa Niezarejestrowana ?

0

na tą chwile wydaje mi się ze dobrym rozwiazaniem ejst sprawdzenie wspisów w rejestrze
[HKEY_CLASSES_ROOT\CLSID\ GUID_MOJEJ_KLASY ]

1 użytkowników online, w tym zalogowanych: 0, gości: 1