TempList.AddObject('S',AddListB)
addlistB :Tbitmap 类型!
TempList TString 类型。
随便解释下TString 类型和string 区别。
要具体点!

解决方案 »

  1.   

    一个是  字符操作类,一个是字符串类型.tempList 应该是 Tlist 类型.用来管理这些的.
      

  2.   

    不清楚你用的是哪个版本,我用D7只有TStrings、TStringList这种类型,没发现TStringTempList 应该拥有以下两个属性:
    Strings[Index: Integer]: string; 字符串数组,类似c语言的char *strings[index]
    Objects[Index: Integer]: TObject; 对象数组语句
    TempList.AddObject('S',AddListB)
    将‘S’添入Strings中,AddListB对应添入Objects中形成关联,返回他们的索引值index。那么
    TempList.Strings[index]就是‘S’,而Tbitmap(TempList.Objects[index])等同于TempList,其中index值可以通过TempList.IndexOf(‘S’)取得。与string 区别显而易见,string仅仅是一个字符串类型。
      

  3.   

    这样理解吧, string是字符串, TStrings是字符串列表.
    TStrings.string[i]就是个string
      

  4.   

    D7 好像没有 没发现有TString  应该是TStrings 
    在Object Pascal语言中,类变量相当于一个指针.父类变量可以指向子类实例,但只能调用在 
    父类中声明的属性和方法.如果采用第一种方法,就无法调用TStringList的Find和Sort方法. 
    TStrings是一个抽象类.在抽象类中,有一种抽象方法.它的实现并没有出现在定义它的类说 
    明中,而是放在子类中具体说明,如TStrings的Delete和Clear方法.这种方法事实上只定义 
    了一个接口.一个方法在被说明为virtual或dynamic之后加上abstract后,就成为一个抽象 
    方法. 
    抽象类的存在可以实现面向对象编程的一个特征:多态性.即多个子类继承自一个父类,用一 
    个父类变量可以访问多个子类的实例,并调用不同的方法.例如: 
    var 
     s1:TStrings; 
     s2:TStringList; 
     s3:TStringGridStrings; 
    begin 
     s1:=TStringList.Create; 
     s1.add;                  //此时调用的是TStringList中的方法. 
     s1.Destory; 
     s1:=TStringGridStrings.Create; 
     s1.Add;                  //此时调用的是TStringGridStrings中的方法 
     s1.Destory; 
    end;