procedure TFrmMain.initlistbox;
var
  st,st1:TStringList;
  i:integer;
begin
  st:=TStringList.Create;
  St.Delimiter := ',';
  St.DelimitedText :='№,帐号,时间,状态';
  st1:=TStringList.Create;
  St1.Delimiter := ',';
  St1.DelimitedText :='20,66,60,108';
  for I := 0 to St.Count - 1 do
  begin
    lvSummit.Columns.Add;
    lvSummit.Columns.Items[i].Caption:=st[i];
    lvSummit.Columns.Items[i].Width:=StrToInt(st1[i]);
    lvSummit.Columns[I].Alignment:=taCenter;
  end;
  lvSummit.ViewStyle:=vsreport;      with lvSummit.items.add do
      begin
        Caption:='00';    //  这里什么都不写也一样弹窗口
      end;
end;
各位帮忙看看,谢谢先.

解决方案 »

  1.   

    没有遇到你说的问题~~~
    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, ComCtrls;type
      TForm1 = class(TForm)
        Button1: TButton;
        lvSummit: TListView;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
      procedure initlistbox;    { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}
    procedure TForm1.initlistbox;
    var
      st,st1:TStringList;
      i:integer;
    begin
      st:=TStringList.Create;
      St.Delimiter := ',';
      St.DelimitedText :='№,帐号,时间,状态';
      st1:=TStringList.Create;
      St1.Delimiter := ',';
      St1.DelimitedText :='20,66,60,108';
      for I := 0 to St.Count - 1 do
      begin
      lvSummit.Columns.Add;
      lvSummit.Columns.Items[i].Caption:=st[i];
      lvSummit.Columns.Items[i].Width:=StrToInt(st1[i]);
      lvSummit.Columns[I].Alignment:=taCenter;
      end;
      lvSummit.ViewStyle:=vsreport;  with lvSummit.items.add do
      begin
       Caption:='00'; // 这里什么都不写也一样弹窗口
      end;end;procedure TForm1.Button1Click(Sender: TObject);
    begin
       initlistbox;
    end;end.
      

  2.   

    你的FORM的代码不完整,检查一下你的lvSummit对象的各种事件响应过程吧,应该 是ADD了一个Item后又触发了其它的Event,其实是事件处理过程中的错误,看起来象是ADD的时候报错。
    供参考。