动态库多线程问题,在线程局部存储(TLS)中应该为这样:
DllMain(){  
  
   ....
   ...   DLL_THREAD_ATTACH : begin
       TLSIndex:=TLSAlloc;
       TLSSetValue(TLSIndex, nil);
    end;
}
也就是说每个线程有一个唯一的TLS Index,这样通过TLSGetValue(i)就可以获取每一个
线程保存的值。
  问题是现在我在所有线程中有一个线程是要调用我动态库函数的线程,并且我要保存我在动态库中创建的资源在其相应线程的TLSIndex中.
  比如:动态库输出这样一个函数:  Test(i:integer);
  在DLLMain后有个线程调用Test函数,在Test函数中创建了ClassObject实例(
  ClassObject是类TClassObject类的一个实例),我怎么把它保存到其调用线程的TLS中呢?也就是说我不知道调用我函数的这个线程的TLSIndex了。
      TLSSetValue(TLSIndex, Pointer(ClassObject));TLSIndex??????
   这个问题如何解决呢?请帮忙,谢谢。