- Recompilación en Delphi10 de todos los paquetes de RO para generar las DCU's en Lib\D10 - Recompilación en Delphi10 de todos los paquetes de DA para generar las DCU's en Lib\D10 git-svn-id: https://192.168.0.254/svn/Componentes.Terceros.RemObjects@9 b6239004-a887-0f4b-9937-50029ccdca16
105 lines
2.5 KiB
ObjectPascal
105 lines
2.5 KiB
ObjectPascal
unit TfrmServerSelectSrc;
|
|
|
|
interface
|
|
|
|
uses
|
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
|
Dialogs, StdCtrls, ExtCtrls, CheckLst,
|
|
TXPBrdCastServerSrc,
|
|
uROServer;
|
|
|
|
type
|
|
TfrmServerSelect = class(TForm)
|
|
lbServers: TCheckListBox;
|
|
pnlButtons: TPanel;
|
|
btnOk: TButton;
|
|
btCancel: TButton;
|
|
procedure lbServersClickCheck(Sender: TObject);
|
|
private
|
|
fBrdCstSvr: TXPBrdCastServer;
|
|
fSvrItems: TXPServerCollection;
|
|
protected
|
|
procedure RefreshServers;
|
|
procedure AddServer(aServer: TROServer);
|
|
procedure RemoveServer(aServer: TROServer);
|
|
public
|
|
constructor Create(aBrdCstServer : TXPBrdCastServer); reintroduce;
|
|
end;
|
|
|
|
|
|
implementation
|
|
|
|
{$R *.dfm}
|
|
|
|
{ TfrmServerSelect }
|
|
|
|
constructor TfrmServerSelect.Create(aBrdCstServer: TXPBrdCastServer);
|
|
begin
|
|
inherited Create(nil);
|
|
fBrdCstSvr := aBrdCstServer;
|
|
|
|
if Assigned(fBrdCstSvr)
|
|
then fSvrItems := fBrdCstSvr.ExportedServers
|
|
else fSvrItems := nil;
|
|
|
|
RefreshServers;
|
|
end;
|
|
|
|
procedure TfrmServerSelect.RefreshServers;
|
|
var lOwner: TComponent;
|
|
i,Idx: Integer;
|
|
begin
|
|
lbServers.Clear;
|
|
if not(Assigned(fBrdCstSvr)) then
|
|
Exit;
|
|
|
|
lOwner := fBrdCstSvr.Owner;
|
|
if not(Assigned(lOwner)) then
|
|
Exit;
|
|
|
|
// Get all the ROServers from the owner of the TXPBrdCastServer
|
|
for i := 0 to lOwner.ComponentCount-1 do
|
|
begin
|
|
if lOwner.Components[i].InheritsFrom(TROServer) then
|
|
begin
|
|
if not(lOwner.Components[i].InheritsFrom(TXPBrdCastServer)) then
|
|
lbServers.AddItem(lOwner.Components[i].Name,lOwner.Components[i]);
|
|
end;
|
|
end;
|
|
|
|
// Set checkmark for all servers containd in ExposedServers
|
|
for i := 0 to fSvrItems.Count-1 do
|
|
begin
|
|
Idx := lbServers.Items.IndexOfObject(fSvrItems.Servers[i]);
|
|
if Idx >= 0 then
|
|
begin
|
|
lbServers.Checked[Idx] := True;
|
|
end;
|
|
end;
|
|
|
|
end;
|
|
|
|
procedure TfrmServerSelect.lbServersClickCheck(Sender: TObject);
|
|
begin
|
|
if lbServers.Checked[lbServers.ItemIndex]
|
|
then AddServer(TROServer(lbServers.Items.Objects[lbServers.ItemIndex]))
|
|
else RemoveServer(TROServer(lbServers.Items.Objects[lbServers.ItemIndex]));
|
|
|
|
end;
|
|
|
|
procedure TfrmServerSelect.AddServer(aServer: TROServer);
|
|
begin
|
|
if not(Assigned(aServer)) then
|
|
Exit;
|
|
fSvrItems.AddServer(aServer);
|
|
end;
|
|
|
|
procedure TfrmServerSelect.RemoveServer(aServer: TROServer);
|
|
begin
|
|
if not(Assigned(aServer)) then
|
|
Exit;
|
|
fSvrItems.DeleteServer(aServer);
|
|
end;
|
|
|
|
end.
|