Ax 从一个form关闭另外一个form,AX全局变量

如果这个两个form存在调用关系,我们当然可以在调用的时候把对象传过来,然后再关闭之。

但是当2个form没有被调用的关系,我们可以利用infolog.globalCache()将FORM对象保存起来,再在需要的时候获取到并对他进行需要的操作。

如, 有Form1,Form2,假设我们需要再form2的button1的click事件关闭Form1;

先在Form1的init事件里加代码将Form1对象放在GlobalCache里。

infolog.globalCache().set("Form1", "Form1_Element",element);//owner:Form1 key:Form1_Element value:lement

在From1的Close事件里面加代码将Form1对象从GlobalCache删除。

infolog.GlobalCache().remove("Form1","Form1_Element");

 

在Form2的Button1的Click事件加代码,先获取Form1对象,并将Form关闭。

formrun  fr1;
;
super();

fr1 = infolog.GlobalCache().get("Form1","Form1_Element"); 
fr1.close();

  

延伸,我们也可以将其他我们想保存的全局变量放到GlobalCache里面,然后在系统任何地方都可以获取到使用之。  

posted @ 2016-06-16 11:58  szlailai  阅读(272)  评论(0编辑  收藏  举报