菜鸟刚学多线程,做了一个练习,form1上放了两个按钮,又新建了一个线程叫load_p2p,请看我的代码....(40分)

  • 主题发起人 主题发起人 wanglonga
  • 开始时间 开始时间
W

wanglonga

Unregistered / Unconfirmed
GUEST, unregistred user!
procedure TForm1.Button1Click(Sender: TObject);
begin
load_p2p.Create(false);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
showmessage('dddd');
end;

我的多线程代码是:
procedure load_p2p.Execute;
begin
form1.Button2.Click;
end;
执行之后说:canvasdo
es not allow drawing.
 
光从你这三段代码是看不出问题的,可能问题出在别的地方
 
这就是我的全部代码!!!!!!!!!!!!!!!!
 
在线程中对VCL的访问要用Synchronize;
线程Execute中的代码是在循环执行的,你这样当然会出错了。
 
求大侠帮忙。
 
线程Excute中不能出现showmessage,把show写成一个方法show,在Excute中用Synchronize(show)同步到主窗体中。
 
我这么越来越看不明白,连CreateThread都没有,也算的上多线程?????(我是菜鸟,呵呵)
如果楼主的全部代码都在这里,我看不懂你想要多线程干什么??
 
接受答案了.
 
后退
顶部