Tipcom = class 
    fIpList: TStrings;
  private
    property Iplist: TStrings read fIplist write fIplist;
  public
   constructor Create(ipstrs:Tstrings);
    destructor Destroy; override;
    function TwoIpthan(oneip, twoip: string): integer; 
        //one>two return 1, else 0;
    function Iplistcom(Ips: TStrings): TStrings; 
  end;//创建
constructor TIpcom.Create(ipstrs:Tstrings);
begin
  inherited Create;
  Iplist:=ipstrs;
end; 
procedure TFrmChinaIp.BitBindexClick(Sender: TObject);
var
  i: integer;
  tmpstr, sqlstr: string;
  ips: Tipcom;
begin
  ips:=Tipcom.Create(memo1.lines); //这里运行时候一建立就game over.

解决方案 »

  1.   

    TStrings能直接赋值吗?
    constructor TIpcom.Create(ipstrs:Tstrings);
    begin
      inherited Create;
      Iplist:=ipstrs;//这里改改
    end; 
      

  2.   

    Tipcom = class 
        fIpList: TStringList;// 修改
      

  3.   


    published
      property Iplist: TStrings read fIplist write fIplist;
      

  4.   

    Tipcom = class 
        fIpList: TStringList;// 修改
      

  5.   

    Tipcom = class 
        fIpList: TStringList;// 修改TString 是一个虚类,是不能够直接使用的。
      

  6.   

    如上修改好象可以,Delphi有个毛病,TStrings的类要用TStringList来建立
      

  7.   

    fIpList: TStrings;这是完全正确用法。。
      

  8.   

    Efeis(Efeis) 请你搞清楚抽象类的概念后再回答问题,不要动不动说是Delphi的毛病,如果这算是毛病,那么所有面向对象语言都有这个毛病了!
    这个东西的错误很容易找,自己调试一下就知道了!这种问题不需要问吧
      

  9.   

    改成TStringList好处理些,呵:
      fIpList: TStringList;//创建
    constructor TIpcom.Create(ipstrs:Tstrings);
    begin
      inherited Create;
      fIpList:= TStringList.Create;
      Iplist.Assign(ipstrs);
    end; 
      

  10.   

    Efeis(Efeis) 如上修改好象可以,Delphi有个毛病,TStrings的类要用TStringList来建立
    兄弟你知道什么是oo吗,还是多看看书吧
    什么Delphi有个毛病TStrings是抽象类,不能用来构造实例,要通过子类来构造如TStringList等,delphi在语法上允许构造抽象类的,但是这是不通语义的,在运行时会提示错误的。
    var
      a:TStrings;
    begin
      a:=TStringList.create;
      ...
    end;
      

  11.   

    xzhifei(星级饭桶(抵制日货)·飞) 
    改成TStringList好处理些,呵:
      fIpList: TStringList;你上面的做法仅仅时为了解决的当前的问题,如果,你把他改了,你就破坏作者原有的实现多态的初衷了,肯定在扩展上会出现问题
      

  12.   

    不知道听谁的了,原来这么写不能创建但是可以直接使用 。
    如:memo1.lines:=Iplistcom(memo1.lines);
      

  13.   

    没问题呀!memo1.lines:=Iplistcom(memo1.lines);
    这是啥(Iplistcom?)
      

  14.   

    to:ghao0(干什么) 
    Iplistcom的原形:
    function Iplistcom(Ips: TStrings): TStrings; //用来ip地址排序。
    memo1.lines:=Iplistcom(memo1.lines)
      

  15.   

    为何 fantasy1999(黄滕酒) 会得分?
    您所说的类中没有create!需要外界create?