Показать сообщение отдельно
  #5  
Старый 23.03.2011, 16:46
AlexSku AlexSku вне форума
Специалист
 
Регистрация: 07.05.2007
Адрес: Москва
Сообщения: 884
Репутация: 21699
По умолчанию

Код:
// *********************************************************************//
// OLE Server Proxy class declaration
// Server Object    : TS7ProSim
// Help String      : S7ProSim Class
// Default Interface: IS7ProSim
// Def. Intf. DISP? : No
// Event   Interface: IS7ProSimEvents
// TypeFlags        : (2) CanCreate
// *********************************************************************//
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  TS7ProSimProperties= class;
{$ENDIF}
  TS7ProSim = class(TOleServer)
  private
    FOnScanFinished: TS7ProSimScanFinished;
    FOnConnectionError: TS7ProSimConnectionError;
    FOnPLCSimStateChanged: TS7ProSimPLCSimStateChanged;
    FOnPauseStateChanged: TS7ProSimPauseStateChanged;
    FOnScanModeChanged: TS7ProSimScanModeChanged;
    FIntf:        IS7ProSim;
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
    FProps:       TS7ProSimProperties;
    function      GetServerProperties: TS7ProSimProperties;
{$ENDIF}
    function      GetDefaultInterface: IS7ProSim;
  protected
    procedure InitServerData; override;
    procedure InvokeEvent(DispID: TDispID; var Params: TVariantArray); override;
  public
    constructor Create(AOwner: TComponent); override;
    destructor  Destroy; override;
    procedure Connect; override;
    procedure ConnectTo(svrIntf: IS7ProSim);
    procedure Disconnect; override;
    procedure ReadOutputImage(StartIndex: Integer; ElementsToRead: Integer; 
                              DataType: ImageDataTypeConstants; var pData: OleVariant);
    procedure WriteInputImage(StartIndex: Integer; var pData: OleVariant);
    procedure ReadOutputPoint(ByteIndex: Integer; BitIndex: Integer; 
                              DataType: PointDataTypeConstants; var pData: OleVariant);
    procedure WriteInputPoint(ByteIndex: Integer; BitIndex: Integer; var pData: OleVariant);
    procedure ExecuteSingleScan;
    procedure Connect1;
    procedure Disconnect1;
    procedure BeginScanNotify;
    procedure EndScanNotify;
    procedure ExecuteNmsScan(MsNumber: Integer);
    procedure ExecuteNScans(NScanNumber: Integer);
    function GetScanMode: ScanModeConstants;
    procedure SetScanMode(newVal: ScanModeConstants);
    procedure Pause;
    procedure Continue;
    function GetPauseState: PauseStateConstants;
    procedure SavePLC(const FileName: WideString);
    procedure HotStartWithSavedValues(val: Integer);
    function GetState: WideString;
    procedure SetState(const newVal: WideString);
    procedure StartPLCSim(const plcFile: WideString);
    procedure SetStartUpSwitch(postion: RestartSwitchPositionConstants);
    function GetStartUpSwitch: RestartSwitchPositionConstants;
    procedure ReadDataBlockValue(BlockNum: Integer; ByteIndex: Integer; BitIndex: Integer; 
                                 DataType: PointDataTypeConstants; var pData: OleVariant);
    procedure WriteDataBlockValue(BlockNum: Integer; ByteIndex: Integer; BitIndex: Integer; 
                                  var pData: OleVariant);
    procedure ReadFlagValue(ByteIndex: Integer; BitIndex: Integer; 
                            DataType: PointDataTypeConstants; var pData: OleVariant);
    procedure WriteFlagValue(ByteIndex: Integer; BitIndex: Integer; var pData: OleVariant);
    procedure ConnectExt(InstanceNumber: Integer);
    procedure StartPLCSimExt(const plcFile: WideString);
    property DefaultInterface: IS7ProSim read GetDefaultInterface;
  published
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
    property Server: TS7ProSimProperties read GetServerProperties;
{$ENDIF}
    property OnScanFinished: TS7ProSimScanFinished read FOnScanFinished write FOnScanFinished;
    property OnConnectionError: TS7ProSimConnectionError read FOnConnectionError write FOnConnectionError;
    property OnPLCSimStateChanged: TS7ProSimPLCSimStateChanged read FOnPLCSimStateChanged write FOnPLCSimStateChanged;
    property OnPauseStateChanged: TS7ProSimPauseStateChanged read FOnPauseStateChanged write FOnPauseStateChanged;
    property OnScanModeChanged: TS7ProSimScanModeChanged read FOnScanModeChanged write FOnScanModeChanged;
  end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
// *********************************************************************//
// OLE Server Properties Proxy Class
// Server Object    : TS7ProSim
// (This object is used by the IDE's Property Inspector to allow editing
//  of the properties of this server)
// *********************************************************************//
 TS7ProSimProperties = class(TPersistent)
  private
    FServer:    TS7ProSim;
    function    GetDefaultInterface: IS7ProSim;
    constructor Create(AServer: TS7ProSim);
  protected
  public
    property DefaultInterface: IS7ProSim read GetDefaultInterface;
  published
  end;
{$ENDIF}


procedure Register;

resourcestring
  dtlServerPage = 'ActiveX';

  dtlOcxPage = 'ActiveX';
Ответить с цитированием