zoukankan      html  css  js  c++  java
  • Call a method on caller form

    Sometimes you need to call a function on the calling form. You can use the following x++ code to achieve this.

    1)Form
    
    /*
    element.args().caller().<Method on caller form>();
    
    这个语句的意思代表打开当前这个对象的父对象的句柄。
    那么可以用if(element.args().caller())来检测当前对象是否是被其他对象调用而打开的。
    而且可以通过这个语句获得的句柄来调用父对象中定义的方法。
    
    For example
    
    element.args().caller().GS_Refresh();
    
    
    The problem with the code above is that you don't get any compilation errors if the method doesn't exist. To handle this problem, you can use the following code.
    
    */
    
    if (formHasMethod(element.args().caller(), identifierStr(GS_Refresh)))
    {
        element.args().caller().GS_Refresh();
    }
    
    2)Class
    
    //Class1中有两个方法:
    void hello()
    {
          print "hello world";
    }
    static void main(Args _args)
    {
          Class1 c1 = new Class1();
          ;
          _args = new Args();
          _args.object(c1);
          _args.caller(c1);
          Class2::Main(_args);
    }
    //在Class2中编写如下代码测试:
    static void main(Args _args)
    {
          _args.caller().hello();//这里在敲完caller()方法后的点后的方法列表中不会显示出hello这个方法,需要你手动的敲进去。
    }
    
    /*
    我们可以从以上示例可以看出,caller需要在父对象中方法中用args.caller(...)来指定。
    而这里,有一个特例那就是用menuitem button封装来打开的对象中的args.caller()对象缺省为那个承载menuitem button的formRun或者reportRun等对象。
    
    */
    
    
    

     

  • 相关阅读:
    C# 四种基本排序算法(冒泡排序,插入排序,选择排序,快速排序)外加折半排序
    jQuery ajax serialize() 方法
    关于问问题
    VIM键位图
    Highcharts选项配置详细说明文档
    awk处理文件内容格式
    【转】如何写出高性能SQL语句
    PHP合并、追加与连接数组
    如何选择web开发语言
    PHP 数据类型验证和获取
  • 原文地址:https://www.cnblogs.com/Fandyx/p/1920708.html
Copyright © 2011-2022 走看看