我在VC环境下做了一个动态库,可在调用的时候,如果有两个应用程序同时调用这一个DLL时,第二个程序便发出错误提示“不能找到这个DLL”,不能再进行下去。
请问这个是什么原因造成的呢?迷茫中ing
请知道的告诉小弟一声,谢谢
在线等待^^^^^^^^^^^^^^^^

解决方案 »

  1.   

    to: tabris17(四不象)
    MyDll.cppBOOL WINAPI MLoadLibrary()
    {
    return ture;
    }MyDll.def
     MLoadLibrarytest.cpp
    BOOL WINAPI MLoadLibrary();CTest::OnButton1()
    {
       MLoadLibrary();
    }当在两个程序中调用这个DLL的话,那么,就会出现出错提示。仅仅一个实例调用时,DLL才能运行,是否建立DLL的时候有什么必要的设置吗??
      

  2.   

    应该是不会滴
    你把静态lib和动态dll再确认一遍...
      

  3.   

    应该不会出现这样的现象才对,你这样运行的话需要把两个应用程序和DLL都放到一个文件夹下才行,这样才是真正调用同一个DLL实例。
      

  4.   

    被多个应用实例调用只是会生成多个dll副本,你是否没调用FreeLibrary啊
      

  5.   

    你是不是这样调用:
    LoadLibrary("\\*.dll");
    去掉\\
      

  6.   

    注意必须要把dll拷贝到exe所在目录下,这样比较方便,或者放到system32下。