我在FORM上放上一个PAGECONTROL在上面新建两个PAGE
又在每个PAGE上放如一个LISTVIEW
有如下代码 不知道错误所在请指出unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls;type
TForm1 = class(TForm)
Button1: TButton;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
ListView1: TListView;
ListView2: TListView;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;type
a=class(tthread)
private
procedure execute;override;
end;type
b=class(tthread)
private
procedure execute;override;
end;var
Form1: TForm1;implementation{$R *.dfm}
procedure a.execute;
var
I:integer;
a:tlistitem;
begin
for i:=1 to 10 do
begin
a:=form1.ListView1.Items.Add;
a.Caption:=inttostr(i);
end;
end;procedure b.execute;
var
I:integer;
a:tlistitem;
begin
for i:=1 to 10 do
begin
a:=form1.ListView2.Items.Add;
a.Caption:=inttostr(i);
end;
end;procedure TForm1.Button1Click(Sender: TObject);
begin
a.Create(false);
b.Create(false);
end;end.
又在每个PAGE上放如一个LISTVIEW
有如下代码 不知道错误所在请指出unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls;type
TForm1 = class(TForm)
Button1: TButton;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
ListView1: TListView;
ListView2: TListView;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;type
a=class(tthread)
private
procedure execute;override;
end;type
b=class(tthread)
private
procedure execute;override;
end;var
Form1: TForm1;implementation{$R *.dfm}
procedure a.execute;
var
I:integer;
a:tlistitem;
begin
for i:=1 to 10 do
begin
a:=form1.ListView1.Items.Add;
a.Caption:=inttostr(i);
end;
end;procedure b.execute;
var
I:integer;
a:tlistitem;
begin
for i:=1 to 10 do
begin
a:=form1.ListView2.Items.Add;
a.Caption:=inttostr(i);
end;
end;procedure TForm1.Button1Click(Sender: TObject);
begin
a.Create(false);
b.Create(false);
end;end.
Synchronize方法里调用,这是多线程最基本的概念。
多学学多线程基础东西吧。procedure a.Proc1;
begin
var
I:integer;
a:tlistitem;
begin
for i:=1 to 10 do
begin
a:=form1.ListView2.Items.Add;
a.Caption:=inttostr(i);
end;
end;procedure b.Proc1;
var
I:integer;
a:tlistitem;
begin
for i:=1 to 10 do
begin
a:=form1.ListView2.Items.Add;
a.Caption:=inttostr(i);
end;
end;procedure a.Execute;
beign
while not Terminated do
Synchronize(a.Proc1); //这样调用
end;
我爱Delphi!
我想要的是两个LISTVIEW内同时都有1..10