目前有个VC++写的dll,内部大概是这样的:---------------------------------------------------X指针 Pointer;BOOL APIENTRY DllMain(…){ … }void Startup(X指针 ppp){Pointer = ppp; Pointer->Log(“Initial”);}int GetData(){If(Pointer == NULL) return 0;return Pointer->MyFun();}---------------------------------------------------有个程序A,启动时会自动加载这个dll,并且调用其中的Startup,将dll内部的Pointer赋值.至此为止已经确认没有问题,Pointer指针可以使用。之后,又有一个程序B,用C#.NET写的,使用WinAPI的LoadLibrary和GetProcAddress等,调用这个dll中的GetData函数取得内部的数据。问题是,在B调用GetData时,发现Pointer是NULL,无法正常使用。(B是在A之后装载该DLL的) 不知为何?是否是B装载的dll和A装载的dll不是同一个对象?有方法能解决吗?