home *** CD-ROM | disk | FTP | other *** search
- {*******************************************************}
- { }
- { Delphi Visual Component Library }
- { }
- { Copyright (c) 1995 Borland International }
- { }
- {*******************************************************}
-
- unit DdeMan;
-
- interface
-
- uses WinTypes, WinProcs, Classes, Graphics, Forms, Controls, DDEML, StdCtrls;
-
- type
- TDataMode = (ddeAutomatic, ddeManual);
- TDdeServerConv = class;
-
- TMacroEvent = procedure(Sender: TObject; Msg: TStrings) of object;
-
- TDdeClientItem = class;
-
- { TDdeClientConv }
-
- TDdeClientConv = class(TComponent)
- protected
- function CreateDdeConv(FHszApp: HSZ; FHszTopic: HSZ): Boolean;
- function GetCliItemByName(const ItemName: string): TPersistent;
- function GetCliItemByCtrl(ACtrl: TDdeClientItem): TPersistent;
- procedure Loaded; override;
- procedure DefineProperties(Filer: TFiler); override;
- procedure ReadLinkInfo (Reader: TReader);
- procedure WriteLinkInfo (Writer: TWriter);
- function OnSetItem(aCtrl: TDdeClientItem; const S: String): Boolean;
- procedure OnAttach(aCtrl: TDdeClientItem);
- procedure OnDetach(aCtrl: TDdeClientItem);
- procedure Close; dynamic;
- procedure Open; dynamic;
- function ChangeLink(const App: string; const Topic: string;
- const Item: string): Boolean;
- procedure ClearItems;
- procedure Notification(AComponent: TComponent;
- Operation: TOperation); override;
- public
- constructor Create(AOwner: TComponent); override;
- destructor Destroy; override;
- function PasteLink: Boolean;
- function OpenLink: Boolean;
- function SetLink(const Service: string; const Topic: string): Boolean;
- procedure CloseLink;
- function StartAdvise: Boolean;
- function PokeDataLines(const Item: string; Data: TStrings): Boolean;
- function PokeData(const Item: string; Data: PChar): Boolean;
- function ExecuteMacroLines(Cmd: TStrings; waitFlg: Boolean): Boolean;
- function ExecuteMacro(Cmd: PChar; waitFlg: Boolean): Boolean;
- function RequestData(const Item: string): PChar;
- property DdeFmt: Integer;
- property WaitStat: Boolean;
- property Conv: HConv;
- property DataMode: TDataMode;
- published
- property ServiceApplication: String;
- property DdeService: String;
- property DdeTopic: String;
- property ConnectMode: TDataMode default ddeAutomatic;
- property FormatChars: Boolean default False;
- property OnClose: TNotifyEvent;
- property OnOpen: TNotifyEvent;
- end;
-
- TDdeClientItem = class(TComponent)
- protected
- procedure Notification(AComponent: TComponent;
- Operation: TOperation); override;
- public
- constructor Create(AOwner: TComponent); override;
- destructor Destroy; override;
- published
- property Text: String;
- property Lines: TStrings;
- property DdeConv: TDdeClientConv;
- property DdeItem: String;
- property OnChange: TNotifyEvent;
- end;
-
-
- { TDdeServerConv }
-
- TDdeServerConv = class(TComponent)
- protected
- procedure Connect; dynamic;
- procedure Disconnect; dynamic;
- public
- constructor Create(AOwner: TComponent); override;
- destructor Destroy; override;
- function ExecuteMacro(Data: HDdeData): LongInt;
- published
- property OnOpen: TNotifyEvent;
- property OnClose: TNotifyEvent;
- property OnExecuteMacro: TMacroEvent;
- end;
-
- { TDdeServerItem }
-
- TDdeServerItem = class(TComponent)
- protected
- function GetText: string;
- procedure SetText(const Item: string);
- procedure SetLines(Value: TStrings);
- procedure SetServerConv(SConv: TDdeServerConv);
- procedure Notification(AComponent: TComponent;
- Operation: TOperation); override;
- public
- constructor Create(AOwner: TComponent); override;
- destructor Destroy; override;
- function PokeData(Data: HDdeData): LongInt;
- procedure CopyToClipboard;
- procedure Change; dynamic;
- property Fmt: Integer;
- published
- property ServerConv: TDdeServerConv;
- property Text: string;
- property Lines: TStrings;
- property OnChange: TNotifyEvent;
- property OnPokeData: TNotifyEvent;
- end;
-
- function GetPasteLinkInfo(var Service: String; var Topic: String;
- var Item: String): Boolean;
-
- implementation
-