{ 声明 }
type
  Thread = Class(TThread)
private
  Procedure Execute;Override;
end;
...
procedure Thread.Execute;
Var
  i:integer;
begin
  inherited;
  ShowMessage('b');
  for i:=0 to 10000 do
    form3.memo1.lines.add(inttostr(i));
end;
...
procedure TForm3.Button1Click(Sender: TObject);
begin
  Thread.Create(false);
end;
请问高手我什么地放错了
同样的代码在exe中执行无误

解决方案 »

  1.   

    ShowMessage('b');在线程中要挂掉,在那都不能用的!!!
      

  2.   

    procedure Thread.Execute;
    Var
      i:integer;
    begin
      inherited;
      for i:=0 to 10000 do
        form3.memo1.lines.add(inttostr(i));
    end;
    是要改成这种吗??
    不过这种我也试过了 不行呀!! 帮帮忙吧
      

  3.   

    受不了了,你在线程中能在.execute中直接访问vcl。厉害,厉害~~呵呵
      

  4.   

    type
      Thread = Class(TThread)
    private
      Procedure Execute;Override;
    end;
    ...
    procedure Thread.Execute;
    Var
      i:integer;
    begin
      inherited;
      Synchronize(ssss);
    end;
    procedure TForm3.Button1Click(Sender: TObject);
    begin
      Thread.Create(false);
    end;
    procedure ssss;
    var
    i:integer;
    begin  for i:=0 to 10000 do
        form3.memo1.lines.add(inttostr(i));end;
      

  5.   

    type
      Thread = Class(TThread)
    private
      Procedure Execute;Override;
    end;
    ...
    procedure Thread.Execute;
    Var
      i:integer;
    begin
      inherited;
      ShowMessage('b');
      for i:=0 to 10000 do
        form3.memo1.lines.add(inttostr(i));----------------,这是那来的.
    end;
    ...
    procedure TForm3.Button1Click(Sender: TObject);
    begin
      Thread.Create(false);
    end;
      

  6.   

    form3是个窗体
    是的 在dll内有个窗体
    怎么了??不可以吗??
      

  7.   

    不好意思,我拿上面的代码改一下type
      Thread = Class(TThread)
    private
      Procedure Execute;Override;
    end;Var
      i:integer;
    ...
    procedure Thread.Execute;
    begin
      inherited;
      for i:=0 to 10000 do
        Synchronize(ssss);
    end;procedure TForm3.Button1Click(Sender: TObject);
    begin
      Thread.Create(false);
    end;procedure ssss;
    begin
        form3.memo1.lines.add(inttostr(i));
    end;
      

  8.   

    Thank you very much,I am learing.