请问线程中要怎么处理异常,我在线程函数中加入了VCL控件,但是要抱错,我要如何抛出来!

解决方案 »

  1.   

    把涉及控件的代码写为一段过程,然后用Synchronize(该过程);
    一般不会错误吧。如果有错误也是过程代码的错误,在该过程里面处理
      

  2.   

    Synchronize来调用包含有控件的函数或者过程
    函数和过程在这里没区别。
    比如你的函数Toread(i:integer):string;里面有调用到控件。
    你在线程的运行过程里面写
    Synchronize(Toread);
      

  3.   

    我的函数是Function Scan(name:Path):integer;stdcall 要调用的话是不是要Synchronize(Scan);啊,在线程中是用函数好还是过程啊。我线程函数只能传递一个参数,我想传递2个以上的参数要怎么做啊,我用的是CreateThread
      

  4.   

    错了,Synchronize不能带参数的,忘记了