📄 awflow.h
字号:
#ifndef __Asyn__Work__Flow__h__
#define __Asyn__Work__Flow__h__
#include "baseflow.h"
#define EVT_RECEIVE_DATA_BY_DLL 0x1000002b
#define EVENT_SET_CLOSE_FLOW_EVENT 0x1000002c
#define EVT_WORKERFLOW_RELEASE 0x1000000e
#define EVT_GETOBJ_REMOTE 0x19741218
#define EVT_GETOBJ_OVER 0x19751218
#define APIBUSSendCommandEx 0x00f10007 //dword dwSenderObject,dword dwCommand,ROAD int irode=0xffffffff,HKEY int hkey=0,TIMER int itime=0xffffffff,...
#define APIBUSSendEventEx 0x00f10008 //dword dwSenderObject,dword dwCommand,WAITOBJ dword wobj=0,WAITCMD dword wcmd=0,WAITTYPE dword wtype=0,ROAD int irode=0xffffffff,HKEY int hkey=0,...
#define APIBUSSendRespEx 0x00f10009 //dword dwSenderObject,dword dwCommand,WAITOBJ dword wobj=0,WAITCMD dword wcmd=0,WAITTYPE dword wtype=0,ROAD int irode=0xffffffff,...
#define APIBUSSetTimeOut 0x00f1000a //int iSec
#define APIBUSCancelTimeOut 0x00f1000b //int iSec
#define APIBUSLockOwn 0x00f10017 //int & buss,int ASYN asyn=1
#define APIBUSGetCurrentCommandParam 0x00f10004 //int idx,datablock 0 & param
#define APIBUSGetCommandParamNum 0x00f10005 //int & num
#define APIBUSGetCommand 0x00f10006 //dword & CommandHandle, dword & ApplyObject,dword & CommandType, WAIT int wait=0
#define APIBUSAddTimeOutMessage 0x00f1000f //int timeout,int timeid,dword object,dword command
#define APIBUSCancelTimeOutMessage 0x00f10010 //int timeid
#define APIBUSFlowSleep 0x00f10011 //int iSec
#define APIBUSUnLockOwn 0x00f1001e //
#define APIBUSFlowEdau 0x00f10020 //ALIS string szAlis='dacs',string szFunction,int & iRetCode,...
#define APIBUSAsynDllCall 0x00f10021 //dword lhandle,dword thandle,string name,CALLRET int cret,FUNCRET int fret...
#define APIBUSCreateNewFlow 0x00f20000 //int id,string flown,...
#define APIBUSGetCommandSendModal 0x00f20001 //int & mod
#define APIBUSReleaseFlow 0x00f20002 //int id
#define APIBUSGetAllCommandParam 0x00f20003 //...
#define APIBUSSetFlowEvent 0x00f20004 //int obj,MOD int modid=0,FLAG int flag=0,int iEventId, datablock 0 v1,datablock 0 v2
#define APIBUSExcuteOver 0x00f20005 //int obj,MOD int modid=0,...
#define APIBUSStartTransAction 0x00f20006 //
#define APIBUSEndTransAction 0x00f20007 //
#define APIBUSStartAtomAction 0x00f20008 //
#define APIBUSEndAtomAction 0x00f20009 //
#define APIBUSApplyExprFunctin 0x00f2000a //int obj,MOD int modid=0,int startcmd,int endcmd
#define APIBUSOpenDistrabutor 0x00f2000b //int & obj,string szAlis,int GroupNum,string szFeatureList,int timeout,int length
#define APIBUSGetDistrabutor 0x00f2000c //int & obj,string szAlis
#define APIBUSCloseDistrabutor 0x00f2000d //int obj
#define APIBUSAddRes 0x00f2000e //int obj,int dwGroupId,SKIL string szSkillFeature='',int dwResKey,BRDOBJ int dwCatchObj=0,BRDMOD int dwCatchMod=0
#define APIBUSFreeRes 0x00f2000f //int obj,int dwResKey
#define APIBUSLockRes 0x00f20010 //int obj,int dwResKey
#define APIBUSApplyResbySkill 0x00f20011 //int obj,int dwNeedKey1,int dwNeedKey2,int dwType,string szFeature,RGT int dwRight=0
#define APIBUSApplyResbyGroup 0x00f20012 //int obj,int dwNeedKey1,int dwNeedKey2,int dwType,int igroupid,RGT int dwRight=0
#define APIBUSEnableGetIn 0x00f2001a //FLAG int iflag=0,HANDLE dword dwNotifyhandle=0,string szIdentString,int port,int & iactid
#define APIBUSStartConnect 0x00f2001b //FLAG int iflag=0,HANDLE dword dwNotifyhandle=0,string szIdentString,int port,int & iactid
#define APIBUSDisconnected 0x00f2001c //FLAG int iflag=0,HANDLE dword dwNotifyhandle=0,dword connecthandle
#define APIBUSDisableGetIn 0x00f2001d //FLAG int iflag=0,HANDLE dword dwNotifyhandle=0,int acdid
#define APIBUSWriteData 0x00f2001f //FLAG int iflag=0,dword connecthandle,int acdid,datablock 0 dt,int iLen
#define APIBUSChangModName 0x00f20020 //FLAG int iflag=0,dword connecthandle,int modid,string Name
#define APIBUSGetLinkBuffer 0x00f20021 //dword & bhandle,dword connecthandle
#define APIBUSCheckBusLink 0x00f20022
#define APIBUSCheckClientModId 0x00f20023 //dword & modid
#define APIBUSWriteRemoteData 0x00f20024 //datablock 0 dt,int len
#define APIBUSGetPDUData 0x00f20025 //dword bufferid,int & modid,datablock 0 & remotedata,int & len
#define APIBUSGetModIdByName 0x00f20026 //string strName,dword & stationid
#define APIBUSGetRegistedWorker 0x00f20027 //int & worker,int registerid
#define APIBUSSetReportOver 0x00f20028 //dword dwConnectHandle
#define APIBUSOpenArray 0x00f20029 //int & arrayhandle
#define APIBUSCloseArray 0x00f2002a //int arrayhandle
#define APIBUSCopyArray 0x00f2002b //int arrayhandle1,int arrayhandle2
#define APIBUSGetArrayMenber 0x00f2002c //ARRAY int arrayhandle=0xffffffff,LINE int ilne=0,COL int icol=0,datablock 0 & uv
#define APIBUSSetArrayMenber 0x00f2002d //ARRAY int arrayhandle=0xffffffff,LINE int ilne=0,COL int icol=0,datablock 0 uv
#define APIBUSGetArrayLine 0x00f2002e //ARRAY int arrayhandle=0xffffffff,LINE int ilne=0,...
#define APIBUSSetArrayLine 0x00f2002f //ARRAY int arrayhandle=0xffffffff,LINE int ilne=0,...
#define APIBUSGetArrayParam 0x00f20030 //ARRAY int arrayhandle=0xffffffff,LINE int & ilne=0,COL int & col=0,RET int & ret=0
#define APIBUSOpenOdbc 0x00f20031 //int & odbchandle,string szAlis,string szConnect,string szUser,string szPwd,PRDS string prds='select isoutparam,type,length from syscolumns where id in (select id from sysobjects where name=?)',TABS string tabs='select name,type,length from syscolumns where id in (select id from sysobjects where name=?)'
#define APIBUSGetOdbc 0x00f20032 //int & odbchandle,string szAlis
#define APIBUSCloseOdbc 0x00f20033 //int odbchandle
#define APIBUSExcuteOdbc 0x00f20034 //ODBC int odbc=0xffffffff,string szExcuteSql,FLAG int flag=0,PRNUM int prnum=-1,...
#define APIBUSOpenTable 0x00f20035 //ODBC int odbc=0xffffffff,int & handle,string szTableName
#define APIBUSCloseTable 0x00f20036 //ODBC int odbc=0xffffffff,int handle
#define APIBUSMoveToLine 0x00f20037 //ODBC int odbc=0xffffffff,int handle,int iflag
#define APIBUSAddNewLine 0x00f20038 //ODBC int odbc=0xffffffff,int handle
#define APIBUSUpdateLine 0x00f20039 //ODBC int odbc=0xffffffff,int handle
class CAWFlow;
struct EXPROBJECT{
DWORD dwModId;
CAsynWorker * pFlow;
DWORD dwFirstCmd,dwLastCmd;
};
class AFX_EXT_CLASS CAWFlow : public CBaseFlow
{
private:
public:
int m_nNumExprObj;
int m_nMaxExprObj;
EXPROBJECT * m_pExprObj;
CAWFlow * m_pCreator;
DWORD m_dwCreateMod;
DWORD m_dwPauseCommand,m_dwFlowCreateId;
CUniMsg *m_pCurMsg;
int m_iFlowTimeOutSec;
DWORD m_dwFlowCommadnIDent;
HANDLE m_hMutex;
BOOL m_bAutoDelete;
CUniMsg m_DefaultResult;
inline void EnableDeleteSelf(BOOL bCanDel){m_bAutoDelete=bCanDel;};
int m_iFlowWaitObject,m_iFlowWaitCommand,m_iFlowWaitType,m_dwFlowWaitMach;
CArray <CUniMsg *,CUniMsg *> m_CommandList,m_ResultList;
BOOL m_bNeedCommand;
BOOL m_bRelease;
DWORD m_dwExcuteModId;
CAsynWorker * m_pCmdExcutor;
DWORD m_dwCommandExcute;
void AddCommand(CUniMsg * pMsg,BOOL bRunDirect);
CAWFlow(CAWFlow * pCreator=NULL,DWORD dwCreateMod=0);
~CAWFlow();
inline BOOL GetRight(DWORD dwSec=INFINITE){ return (WaitForSingleObject(m_hMutex,dwSec)==WAIT_OBJECT_0);};
inline void ReleaseRight(){ReleaseMutex(m_hMutex);};
virtual COMMANDRESULT DefaultParse(DWORD dwCommand,UniVar * pdwCommandList,int iNum) ;
virtual BOOL GetVarValue(DWORD dwVarID,UniVar & tv);
virtual BOOL SetVarValue(DWORD dwVarID,UniVar tv);
virtual void OnRegisterBaseStyle();
virtual void OnLockSuccess(HANDLE hkey,CAsynWorker * pWorker,DWORD dwID);
virtual void OnTimer(int iNum,DWORD dwIdent);
virtual void OnMsgCmd(CUniMsg *);
virtual void OnMsgResp(CUniMsg * resp,CUniMsg * cmd);
virtual void OnMsgEvent(CUniMsg *);
BOOL AddExprObj(CAsynWorker * pFlow,DWORD dwFirstCmd,DWORD dwLastCmd,DWORD dwModId=0);
void RemoveExprObj(CAsynWorker * pFlow,DWORD dwModId=0);
BOOL GetExprObj(DWORD dwCmd,CAsynWorker * & pFlow,DWORD & dwModId);
void AddCommand(BOOL bRunDirect,DWORD dwCommand,DWORD dwObject,DWORD dwType,DWORD dwIdent,DWORD sendMode,int Num,UniVar * pTV);
void AddCommand(BOOL bRunDirect,DWORD dwCommand,DWORD dwObject,DWORD dwType,DWORD dwIdent,DWORD sendMode,UniVar tv=InValidVar,...);
COMMANDRESULT SetPause(DWORD dwPauseCommand);
COMMANDRESULT GetCommand(UniVar * pVar,int Allways=FALSE);
void PreSetCmd(DWORD dwPauseCommand){m_dwPauseCommand=dwPauseCommand;};
COMMANDRESULT SetContinue(){m_dwPauseCommand=0xffffffff;return LINE_CONTINUE;};
int FunctionRet(BOOL bRunDirect,DWORD dwPauseCommand,UniVar *,int Num);
int FunctionRet(BOOL bRunDirect,DWORD dwPauseCommand,UniVar uvi=InValidVar,...);
virtual BOOL OnEndFlow(){OnRelease();return TRUE;};
virtual void OnRelease();
virtual void OnCreate();
virtual CAWFlow * GetNewFlow(int flag);
virtual BOOL OnPreStartFlow(){return TRUE;};
virtual void EventCallOver(int exitCode,DWORD dwEventId,UniVar & p1,UniVar & p2){};
virtual COMMANDRESULT ExcuteDirect(DWORD dwCommand,DWORD dwObj,DWORD dwModId,int iNum,UniVar * pVar);
virtual void OnExcuteOver(int ierror,DWORD dwCommand,UniVar * pVar,int iNum);
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -