home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1997 May / Pcwk0597.iso / borland / cb / setup / cbuilder / data.z / DDEMAN.HPP < prev    next >
C/C++ Source or Header  |  1997-02-28  |  10KB  |  252 lines

  1. //----------------------------------------------------------------------------
  2. // DdeMan.hpp - bcbdcc32 generated hdr (DO NOT EDIT) rev: 0
  3. // From: DdeMan.pas
  4. //----------------------------------------------------------------------------
  5. #ifndef DdeManHPP
  6. #define DdeManHPP
  7. //----------------------------------------------------------------------------
  8. #include <StdCtrls.hpp>
  9. #include <Ddeml.hpp>
  10. #include <Controls.hpp>
  11. #include <Forms.hpp>
  12. #include <Graphics.hpp>
  13. #include <Classes.hpp>
  14. #include <Windows.hpp>
  15. #include <System.hpp>
  16. #pragma warn -par
  17. #pragma warn -hid 
  18. #pragma warn -inl
  19.  
  20. namespace Ddeman
  21. {
  22. //-- type declarations -------------------------------------------------------
  23. enum TDataMode { ddeAutomatic, ddeManual };
  24.  
  25. typedef void __fastcall (__closure *TMacroEvent)(System::TObject* Sender, Classes::TStrings* Msg);
  26.  
  27. class __declspec(delphiclass) TDdeClientConv;
  28. class __declspec(delphiclass) TDdeClientItem;
  29. class __declspec(pascalimplementation) TDdeClientConv : public Classes::TComponent
  30. {
  31.     typedef Classes::TComponent inherited;
  32.     
  33. private:
  34.     System::AnsiString FDdeService;
  35.     System::AnsiString FDdeTopic;
  36.     long FConv;
  37.     CONVINFO FCnvInfo;
  38.     Classes::TList* FItems;
  39.     long FHszApp;
  40.     long FHszTopic;
  41.     int FDdeFmt;
  42.     Classes::TNotifyEvent FOnClose;
  43.     Classes::TNotifyEvent FOnOpen;
  44.     System::AnsiString FAppName;
  45.     TDataMode FDataMode;
  46.     TDataMode FConnectMode;
  47.     bool FWaitStat;
  48.     bool FFormatChars;
  49.     void __fastcall SetDdeService(const System::AnsiString Value);
  50.     void __fastcall SetDdeTopic(const System::AnsiString Value);
  51.     void __fastcall SetService(const System::AnsiString Value);
  52.     void __fastcall SetTopic(const System::AnsiString Value);
  53.     void __fastcall SetConnectMode(TDataMode NewMode);
  54.     void __fastcall SetFormatChars(bool NewFmt);
  55.     void __fastcall XactComplete(void);
  56.     void __fastcall SrvrDisconnect(void);
  57.     void __fastcall DataChange(long DdeDat, long hszIt);
  58.     
  59. protected:
  60.     bool __fastcall CreateDdeConv(long FHszApp, long FHszTopic);
  61.     Classes::TPersistent* __fastcall GetCliItemByName(const System::AnsiString ItemName);
  62.     Classes::TPersistent* __fastcall GetCliItemByCtrl(TDdeClientItem* ACtrl);
  63.     virtual void __fastcall Loaded(void);
  64.     virtual void __fastcall DefineProperties(Classes::TFiler* Filer);
  65.     void __fastcall ReadLinkInfo(Classes::TReader* Reader);
  66.     void __fastcall WriteLinkInfo(Classes::TWriter* Writer);
  67.     bool __fastcall OnSetItem(TDdeClientItem* aCtrl, const System::AnsiString S);
  68.     void __fastcall OnAttach(TDdeClientItem* aCtrl);
  69.     void __fastcall OnDetach(TDdeClientItem* aCtrl);
  70.     virtual void __fastcall Close(void);
  71.     virtual void __fastcall Open(void);
  72.     bool __fastcall ChangeLink(const System::AnsiString App, const System::AnsiString Topic, const System::AnsiString 
  73.         Item);
  74.     void __fastcall ClearItems(void);
  75.     virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation Operation
  76.         );
  77.     
  78. public:
  79.     __fastcall virtual TDdeClientConv(Classes::TComponent* AOwner);
  80.     __fastcall virtual ~TDdeClientConv(void);
  81.     bool __fastcall PasteLink(void);
  82.     bool __fastcall OpenLink(void);
  83.     bool __fastcall SetLink(const System::AnsiString Service, const System::AnsiString Topic);
  84.     void __fastcall CloseLink(void);
  85.     bool __fastcall StartAdvise(void);
  86.     bool __fastcall PokeDataLines(const System::AnsiString Item, Classes::TStrings* Data);
  87.     bool __fastcall PokeData(const System::AnsiString Item, char * Data);
  88.     bool __fastcall ExecuteMacroLines(Classes::TStrings* Cmd, bool waitFlg);
  89.     bool __fastcall ExecuteMacro(char * Cmd, bool waitFlg);
  90.     char * __fastcall RequestData(const System::AnsiString Item);
  91.     __property int DdeFmt = {read=FDdeFmt, nodefault};
  92.     __property bool WaitStat = {read=FWaitStat, nodefault};
  93.     __property long Conv = {read=FConv, nodefault};
  94.     __property TDataMode DataMode = {read=FDataMode, write=FDataMode, nodefault};
  95.     
  96. __published:
  97.     __property System::AnsiString ServiceApplication = {read=FAppName, write=FAppName, nodefault};
  98.     __property System::AnsiString DdeService = {read=FDdeService, write=SetDdeService, nodefault};
  99.     __property System::AnsiString DdeTopic = {read=FDdeTopic, write=SetDdeTopic, nodefault};
  100.     __property TDataMode ConnectMode = {read=FConnectMode, write=SetConnectMode, default=0};
  101.     __property bool FormatChars = {read=FFormatChars, write=SetFormatChars, default=0};
  102.     __property Classes::TNotifyEvent OnClose = {read=FOnClose, write=FOnClose};
  103.     __property Classes::TNotifyEvent OnOpen = {read=FOnOpen, write=FOnOpen};
  104. };
  105.  
  106. class __declspec(pascalimplementation) TDdeClientItem : public Classes::TComponent
  107. {
  108.     typedef Classes::TComponent inherited;
  109.     
  110. private:
  111.     Classes::TStrings* FLines;
  112.     TDdeClientConv* FDdeClientConv;
  113.     System::AnsiString FDdeClientItem;
  114.     Classes::TNotifyEvent FOnChange;
  115.     System::AnsiString __fastcall GetText(void);
  116.     void __fastcall SetDdeClientItem(const System::AnsiString Val);
  117.     void __fastcall SetDdeClientConv(TDdeClientConv* Val);
  118.     void __fastcall SetText(const System::AnsiString S);
  119.     void __fastcall SetLines(Classes::TStrings* L);
  120.     void __fastcall OnAdvise(void);
  121.     
  122. protected:
  123.     virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation Operation
  124.         );
  125.     
  126. public:
  127.     __fastcall virtual TDdeClientItem(Classes::TComponent* AOwner);
  128.     __fastcall virtual ~TDdeClientItem(void);
  129.     
  130. __published:
  131.     __property System::AnsiString Text = {read=GetText, write=SetText, nodefault};
  132.     __property Classes::TStrings* Lines = {read=FLines, write=SetLines, nodefault};
  133.     __property TDdeClientConv* DdeConv = {read=FDdeClientConv, write=SetDdeClientConv, nodefault};
  134.     __property System::AnsiString DdeItem = {read=FDdeClientItem, write=SetDdeClientItem, nodefault};
  135.     __property Classes::TNotifyEvent OnChange = {read=FOnChange, write=FOnChange};
  136. };
  137.  
  138. class __declspec(delphiclass) TDdeServerConv;
  139. class __declspec(pascalimplementation) TDdeServerConv : public Classes::TComponent
  140. {
  141.     typedef Classes::TComponent inherited;
  142.     
  143. private:
  144.     Classes::TNotifyEvent FOnOpen;
  145.     Classes::TNotifyEvent FOnClose;
  146.     TMacroEvent FOnExecuteMacro;
  147.     
  148. protected:
  149.     virtual void __fastcall Connect(void);
  150.     virtual void __fastcall Disconnect(void);
  151.     
  152. public:
  153.     __fastcall virtual TDdeServerConv(Classes::TComponent* AOwner);
  154.     __fastcall virtual ~TDdeServerConv(void);
  155.     long __fastcall ExecuteMacro(long Data);
  156.     
  157. __published:
  158.     __property Classes::TNotifyEvent OnOpen = {read=FOnOpen, write=FOnOpen};
  159.     __property Classes::TNotifyEvent OnClose = {read=FOnClose, write=FOnClose};
  160.     __property TMacroEvent OnExecuteMacro = {read=FOnExecuteMacro, write=FOnExecuteMacro};
  161. };
  162.  
  163. class __declspec(delphiclass) TDdeServerItem;
  164. class __declspec(pascalimplementation) TDdeServerItem : public Classes::TComponent
  165. {
  166.     typedef Classes::TComponent inherited;
  167.     
  168. private:
  169.     Classes::TStrings* FLines;
  170.     TDdeServerConv* FServerConv;
  171.     Classes::TNotifyEvent FOnChange;
  172.     Classes::TNotifyEvent FOnPokeData;
  173.     int FFmt;
  174.     void __fastcall ValueChanged(void);
  175.     
  176. protected:
  177.     System::AnsiString __fastcall GetText(void);
  178.     void __fastcall SetText(const System::AnsiString Item);
  179.     void __fastcall SetLines(Classes::TStrings* Value);
  180.     void __fastcall SetServerConv(TDdeServerConv* SConv);
  181.     virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation Operation
  182.         );
  183.     
  184. public:
  185.     __fastcall virtual TDdeServerItem(Classes::TComponent* AOwner);
  186.     __fastcall virtual ~TDdeServerItem(void);
  187.     long __fastcall PokeData(long Data);
  188.     void __fastcall CopyToClipboard(void);
  189.     virtual void __fastcall Change(void);
  190.     __property int Fmt = {read=FFmt, nodefault};
  191.     
  192. __published:
  193.     __property TDdeServerConv* ServerConv = {read=FServerConv, write=SetServerConv, nodefault};
  194.     __property System::AnsiString Text = {read=GetText, write=SetText, nodefault};
  195.     __property Classes::TStrings* Lines = {read=FLines, write=SetLines, nodefault};
  196.     __property Classes::TNotifyEvent OnChange = {read=FOnChange, write=FOnChange};
  197.     __property Classes::TNotifyEvent OnPokeData = {read=FOnPokeData, write=FOnPokeData};
  198. };
  199.  
  200. class __declspec(delphiclass) TDdeMgr;
  201. class __declspec(pascalimplementation) TDdeMgr : public Classes::TComponent
  202. {
  203.     typedef Classes::TComponent inherited;
  204.     
  205. private:
  206.     System::AnsiString FAppName;
  207.     long FHszApp;
  208.     Classes::TList* FConvs;
  209.     Classes::TList* FCliConvs;
  210.     Classes::TList* FConvCtrls;
  211.     long FDdeInstId;
  212.     Word FLinkClipFmt;
  213.     void __fastcall Disconnect(Classes::TComponent* DdeSrvrConv);
  214.     Classes::TComponent* __fastcall GetSrvrConv(const System::AnsiString Topic);
  215.     bool __fastcall AllowConnect(long hszApp, long hszTopic);
  216.     long __fastcall AllowWildConnect(long hszApp, long hszTopic);
  217.     bool __fastcall Connect(long Conv, long hszTopic, bool SameInst);
  218.     void __fastcall PostDataChange(const System::AnsiString Topic,  System::AnsiString Item);
  219.     void __fastcall SetAppName(const System::AnsiString Name);
  220.     void __fastcall ResetAppName(void);
  221.     TDdeServerConv* __fastcall GetServerConv(const System::AnsiString Topic);
  222.     void __fastcall InsertServerConv(TDdeServerConv* SConv);
  223.     void __fastcall RemoveServerConv(TDdeServerConv* SConv);
  224.     void __fastcall DoError(void);
  225.     Forms::TForm* __fastcall GetForm(const System::AnsiString Topic);
  226.     
  227. public:
  228.     __fastcall virtual TDdeMgr(Classes::TComponent* AOwner);
  229.     __fastcall virtual ~TDdeMgr(void);
  230.     System::AnsiString __fastcall GetExeName(void);
  231.     __property long DdeInstId = {read=FDdeInstId, write=FDdeInstId, nodefault};
  232.     __property System::AnsiString AppName = {read=FAppName, write=SetAppName, nodefault};
  233.     __property Word LinkClipFmt = {read=FLinkClipFmt, nodefault};
  234. };
  235.  
  236. //-- var, const, procedure ---------------------------------------------------
  237. extern TDdeMgr* ddeMgr;
  238. extern bool __fastcall GetPasteLinkInfo( System::AnsiString &Service,  System::AnsiString &Topic,  System::AnsiString &
  239.     Item);
  240.  
  241. }    /* namespace Ddeman */
  242.  
  243. #pragma warn .par
  244. #pragma warn .hid 
  245. #pragma warn .inl
  246.  
  247. #if !defined(NO_IMPLICIT_NAMESPACE_USE)
  248. using namespace Ddeman;
  249. #endif
  250. //-- end unit ----------------------------------------------------------------
  251. #endif    // DdeMan
  252.