比方说我有一个接口IA,有两个类TB、TC都实现了它。
在程序中我定义了PA:IA,并不停的用TB,TC创建它。
10秒后,我想知道PA现在是由哪个类创建的?谢谢

解决方案 »

  1.   

    在TB,TC创建的时候加个标志位[全局变量]判断.
      

  2.   

    那这样就行了,再定义一个接口
    接口定义一个QueryImplementClassName方法
    然后TB,TC在实现接口IA的时候,也都实现了这个新接口!
    而实现的具体方法就是返回类名
    procedure TB.QueryImplementClassName: string;
    begin
      Result :='TB'
    end;
    procedure TC.QueryImplementClassName: string;
    begin
      Result :='TC'
    end;
    之后你调用通过新接口调用QueryImplementClassName 不就知道是哪个了吗!
      

  3.   

    哈哈,这么简单啊,其实也不用在定义什么接口了,只要在IA里在添一个方法QueryImplementClassName就行了,谢谢啦