Главная страница | назад





Article #15041: Locating the servers available in the registry

 Question and Answer Database

FAQ41D.txt   Locating the servers available in the registry
Category   :DCOM/MultiTier/ActiveForm
Platform    :All
Product    :Delphi 3.x  

Question:
How do I locate the application servers available in the
registry of the machine?

Answer:
Read the registry key under HKEY_CLASSES_ROOT\CLSID\* looking 
for keys that have a subkey "Borland DataBroker".  These
entries are application servers.  Here's an example that
loads application server names to a Listbox.

procedure TForm1.FormCreate(Sender: TObject);
var

uses Registry;
  I: integer;
  TempList: TStringList;
begin
  TempList := TStringList.Create;
  try
    with TRegistry.Create do
    try
      RootKey := HKEY_CLASSES_ROOT;
      if OpenKey('CLSID', False) then
        GetKeyNames(TempList);
      CloseKey;
      for I := 1 to TempList.Count - 1 do
        if KeyExists('CLSID\' + TempList[I] 
          + '\Borland DataBroker') then
        begin
          if OpenKey('CLSID\' + TempList[I] + '\ProgID', False) 
            then begin
              Listbox1.Items.Add(ReadString(''));
              CloseKey;
            end;
        end;
    finally
      Free;
    end;
  finally
    TempList.Free;
  end;
end;


7/16/98 4:31:28 PM
 

Last Modified: 01-SEP-99