怎么用SimpleObjectBroker动态选择服务器

解决方案 »

  1.   

    SimpleObjectBroker的功能很有限,需要程序员的配合才可以实现一些容错功能procedure TdmArchiveConnect.Connect;
    var
      FIniFileName: string;
    begin
      //设置ini文件
      FIniFileName := ExtractFilePath(Application.ExeName) + 'PHYMIS.ini';  //载入可用的应用程序服务器
      ServerBroker.Servers.Items[0].ComputerName := ReadIniString(FIniFileName,
        'Server', 'Server1', '');
      ServerBroker.Servers.Items[1].ComputerName := ReadIniString(FIniFileName,
        'Server', 'Server2', '');
      ServerBroker.Servers.Items[2].ComputerName := ReadIniString(FIniFileName,
        'Server', 'Server3', '');  //设定应用程序服务器
      scktArchive.ServerName := 'pArchiveServer.ArchiveAgent';
      scktArchive.ServerGUID := '{0334ABD2-9792-459C-8036-3288678678F5}';
      //载入端口设置
      scktArchive.Port := StrToInt(ReadIniString(FIniFileName, 'Server', 'Port',
        '211'));  //连接应用程序服务器
      if scktArchive.Connected then
        scktArchive.Connected := False;
      try
        scktArchive.Connected := True;
        ServerCanUse := True;
      except
        ErrBox('无法连接到应用程序服务器,请检查网络设置');
        ServerCanUse := False;
      end;
    end;