Dialog弹窗和PublishEvevt传递

OnInit()
    {
        SubscribeEvent("xh");
        mpt.toolBar("xh","多空","yt"); 
        Array<String> comb_box_value(["0","1"]);
        dlg.addItem("duo","label","做多",0,0);
        dlg.addItem("做多","combbox",comb_box_value,0,1);
        dlg.addItem("kong","label","做空",1,0);
        dlg.addItem("做空","combbox",comb_box_value,1,1);  
        
        If(f<>0)
        {
        if(True==dlg.show())
        {
            duo=Value(dlg.getString("做多"));
            kong=Value(dlg.getString("做空"));
            Print("duo="+Text(duo));
            Print("kong="+Text(kong));
            
        }
        }
        SubscribeEvent("做多止损");
    }
    
    OnEvent(StringRef evtName,MapRef<String,String>           evtValue)
    {
        If(evtName=="xh")
        {
            f=1;
            ReStart(False);
        }
        If(evtName=="做多止损")
        {
            duoc=Value(evtValue["多止损"]);
            Print("多止损="+Text(duoc));
            ReStart(False);
        }
    }

我在工作区1内做了一个“多空”开关按钮,在工作区2内通过PublishEvent传递["多止损"]信号到工作区1的evtName=="做多止损"。当"多止损"]传递到工作区1时,工作区1的“多空”开关按钮就自动弹出。这是什么原因,怎么解决?

Dialog弹窗
Dialog 弹窗在TBQUant3不出来
关于dialog...
gvalue传递值得问题
休眠启动后弹窗提示
DataFrame对象的传递
如何跨策略单元传递数据?
参数类型 Series<Numeric> ,传递参数不正确
plot变量能否作为参数传递给一个函数
参数传递有顺序(无法删帖,仅记录错误)

目前dialog只能在oninit 使用范围不算很大

 

restart 了去重新从oninit调用窗口 没问题吧

谢谢!我试试。

去掉restart就可以了,谢谢!