小弟在写一个系统,要用到多线程,许多的功能小弟以dll文件进行封装,可是在多线程调用的时候,老是会报内存出错,希望大家给小弟一点意见,在这种情况下应该注意哪些问题!

解决方案 »

  1.   

    把ISMULTI变量(是这么写的吧)设置为TRUE。
    更关键的是你DLL代码里的资源同步,你如按单线程开发的可能根本没考虑这些问题.这个问题讲起来有一匹布那么长,找本书来研究下才好.
      

  2.   

    对,如果你没有在DLL使用BeginThread或COM之类的,需要手工设置IsMultiThread := TRUE.
    否则Delphi的MemoryManager不会多线程安全。共享资源问题慢慢查吧。