|
马上注册登录,享用更多网站功能!
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
我对Agent的工作顺序不太清楚,特别是有两个state的时候,哪位高手能有或写点这方面的文章。我做了一个选两个点的命令,可一选第二个点就出错。请帮着看看错误在哪里。
_daPathElement = new CATPathElementAgent("GetPoint");
_daPathElement->AddElementType("CATPoint");
_daPathElement->SetBehavior(CATDlgEngWithPSOHSO|
CATDlgEngWithPrevaluation);
//AddCSOClient(_daPathElement);//使得可以先选择被操作对象
CATDialogState *stState1 = GetInitialState("stPointId1");
CATDialogState *stState2 = AddDialogState("stPointId2");
stState1->AddDialogAgent(_daPathElement);
_daPathElement->InitializeAcquisition();
stState2->AddDialogAgent(_daPathElement);
CATDialogTransition *Transition1 =AddTransition
(
stState1,
stState2,
IsOutputSetCondition(_daPathElement),
Action((ActionMethod) & LinCmd::Action1)
) ;
CATDialogTransition *Transition2 =AddTransition
(
stState2,
stState2,
IsOutputSetCondition(_daPathElement),
Action((ActionMethod) & LinCmd::Action2)
) ; |
|