请问下面代码创建一个线程有什么错误码?编译不过,报错:[DCC Error] Unit1.pas(109): E2036 Variable requiredprocedure TForm2.IsTradingTimeTimerTimer(Sender: TObject);
begin
IsTradingDayListView1.Items.Add.Caption := 'Hello';
IsTradingDayListView1.Items.Add.SubItems[0] := 'World';
IsTradingDayListView1.Items.Add.SubItems[1] := 'Hehe';
end;procedure TForm2.MulThreadIsTradingDayClick(Sender: TObject);
var
ThreadID: DWORD;
hThreadHandle: THandle;
begin
hThreadHandle := CreateThread(nil,0,@IsTradingTimeTimerTimer,nil,0,ThreadID);
end;
begin
IsTradingDayListView1.Items.Add.Caption := 'Hello';
IsTradingDayListView1.Items.Add.SubItems[0] := 'World';
IsTradingDayListView1.Items.Add.SubItems[1] := 'Hehe';
end;procedure TForm2.MulThreadIsTradingDayClick(Sender: TObject);
var
ThreadID: DWORD;
hThreadHandle: THandle;
begin
hThreadHandle := CreateThread(nil,0,@IsTradingTimeTimerTimer,nil,0,ThreadID);
end;
procedure my;
beginend;procedure TForm1.DBGrid1CellClick(Column: TColumn);
var
ThreadID: DWORD;
hThreadHandle: THandle;
begin
hThreadHandle := CreateThread(nil,0,@my,nil,0,ThreadID);
end;
而不应该是类方法
而不应该是类方法
begin
result := 0;
Form2.IsTradingDayListView1.Items.Add.Caption := 'Hello';
Form2.IsTradingDayListView1.Items.Add.SubItems[0] := 'World';
Form2.IsTradingDayListView1.Items.Add.SubItems[1] := 'Hehe';
end;procedure TForm2.MulThreadIsTradingDayClick(Sender: TObject);
var
ThreadID: DWORD;
hThreadHandle: THandle;
begin
hThreadHandle := CreateThread(nil,0,@IsTradingTime,nil,0,ThreadID);
end;
我按照你的办法,但是这样往ListView里面添加数据的时候,程序会崩溃掉,报错:
List index out of bound(0),请问怎样才能正确往里面添加数据呢?
ITEM.CAPTCION:= ...
那是因为你的LV控件操作方法不对function IsTradingTime(p: Pointer): integer; stdcall;
begin
result := 0;
with Form1.IsTradingDayListView1.Items.Add do
begin
Caption := 'Hello';
SubItems.Add('World');
SubItems.Add('hehe');
end;
end;procedure TForm1.MulThreadIsTradingDayClick(Sender: TObject);
var
ThreadID: DWORD;
hThreadHandle: THandle;
begin
hThreadHandle := CreateThread(nil,0,@IsTradingTime,nil,0,ThreadID);
end;