有两个Form都要用到一个类TTheClass
TTheClass在Form1中被Create一个实例:theClass := TTheClass.Create();
在Form2中也要调用这个实例的方法而且必须是Form1中的那个实例,不能重新Create一个
能不能把“theClass”这样一个指针传到Form2中,
theClass2: TTheClass;
theClass2 := theClass;
theClass2.method(); //调用Form1中Create实例的方法
请问这样做可不可以?(我刚才试了一下好像不行)真的不行的话,有什么其它方法达到这个目的?

解决方案 »

  1.   

    你的方法可以,但有两个前提:
    1、在Form2中要引用Form1所在的单元,且theClass对于Form2必须是可见(一般说来是public的)
    2、theClass要先被Create,再被Form2使用
      

  2.   

    同意楼上.
    TheClass: TTheClass;
    theClass2: TTheClass;
    theClass := TTheClass.create; //theClass就是指针.你可以用TheClass = nil来判断
    TheClass2 := TheCalss;  //完全可以,只要Thecalss2, TheCalss指向同一个实例.