多线程求助。
function vfun(ir: Pointer): integer; stdcall;
var
k, t, m, i,lk: integer;
ss: string;
lpwd, luserid, pass: pchar;
begin
for m := 1 to 100 do
begin
ss := inttostr(m);// 程序发生异常,注释此句就正常,什么原因啊。
end;
end;
function MyThreadFun(p: Pointer): Integer; stdcall;
begin
vfun(p);
Result := 0;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
ID: DWORD;
st: array[0..9] of integer;
ii: integer;
begin
for ii := 0 to 9 do
begin
st[ii] := ii;
hThread[ii] := CreateThread(nil, 0, @MyThreadFun, @st[ii], 0, ID);
end;
// Button1.Enabled := False;
end;
var
k, t, m, i,lk: integer;
ss: string;
lpwd, luserid, pass: pchar;
begin
for m := 1 to 100 do
begin
ss := inttostr(m);// 程序发生异常,注释此句就正常,什么原因啊。
end;
end;
function MyThreadFun(p: Pointer): Integer; stdcall;
begin
vfun(p);
Result := 0;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
ID: DWORD;
st: array[0..9] of integer;
ii: integer;
begin
for ii := 0 to 9 do
begin
st[ii] := ii;
hThread[ii] := CreateThread(nil, 0, @MyThreadFun, @st[ii], 0, ID);
end;
// Button1.Enabled := False;
end;
...全文


