我编写了一个具有MainFrame框架,带有Doc、View的dll(FrmDll),在程序DllLoader中调用它。现在我又编写了一个新的网络接口的dll(Netdll),Netdll中我定义的一个输出类CDNet。我在FrmDll中包含了Netdll的dll、lib文件以及CDNet.h。
DllLoader中采用LoadLibrary()函数调用FrmDll,在FrmDll未定义CDNet m_DNet之前,DllLoader中Loadlibrary一点问题都没有,FrmDll能正常启动,生成自即的MainFrame等资源。
现在问题来了,我在FrmDll的Doc中定义一个CDNet的对象以后,编译没有问题,可是在DllLoader中调用FrmDll时出现问题了,LoadLibrary返回总是空的。这是什么原因呢?哪位达人知道原因呀!!!急死我了!!!

解决方案 »

  1.   

    是否LoadLibrary库德相关语句没写对?
      

  2.   

    检查下调用第二个DLL的LoadLibrary参数格式对不对
      

  3.   

    是这样的。调用FrmDll时用的LoadLibrary函数,在FrmDll中调用Netdll没有用显示的调用,而是直结把CDNet头文件、lib、dll文件包含进去了。
    然后在Project->settings的Link属性页中Object/library modules栏内填入Netdll.lib。定义CDNet对象后就不能正常调用FrmDll了
      

  4.   

    LoadLibrary语句肯定是没有错误的。因为把定义CDNet对象的语句注释掉后FrmDll是可以调用的。
      

  5.   

    环境不了解,没有办法来解析。。
    在LoadLibrary之后加上GetLastError()看看错误码是什么。
    另外,确认新生成的两个dll都copy到DllLoader的目录下了么?
      

  6.   

    gonch提醒了我。呵呵。加分!