关于Dll中创建线程,以及赋值而出现的问。内附详情,兄弟门进门有分!
最近我在写图形处理,具体就是实现图形特效。如渐淡,百叶窗试,等等。写成一个类CDib(参考别人的CDib程序),在Vc中引用没有问题,现在做成一个dll,供Delphi调用。
现在说明如下:
1。基类 CDib , 有LoadBmp ,Close等函数,还有一些参数(私有,公有的都有)如:int nWidth ;等等。专门有一个函数初始话它们,Init();
2。引用类 CApply , 主要就是简化操作,用户只需几个函数一用就ok,细节不用用户知道。
3。做成Dll后,出现问题如下:
⑴. 当加入文件后,有LoadBmp调用,然后执行Init()初始化数据,在初始化赋值时出现问题,如nWidth = 0 ;....导致说访问权限非法。Access violation!
这可是他(dll)自己在调用啊。赋值都不行吗?
⑵.还有一个相关的问题,情况与CSerial差不多,只不过用的是多线程,但是赋值没有问题,但是最后应用程序退出时,又发生assert错误,估计是从Dll里发出的。
各位看官,如何解决呢?会的答个话,不会的凑个热闹,up ,up。