我的伙伴用vc作了个dll给我,可我不能很理想的使用。第一个问题:dll中的函数是拉起一个图形界面。我如何让该界面以模态的形式始终停留
           在主界面之上?
第二个问题:当我调用dll中的方法执行完毕后,主系统跟随dll的函数一起结束了,而不
           是只有函数结束。
第三个问题:我很奇怪,为什么我拉起dll中的图形界面函数是正常的,关闭时报 
          “access violation...........”请赐教。

解决方案 »

  1.   

    感谢,jacky_shen(jacky) 我把Stdcall 改成Cdecl 就对了!
    第二个问题可能是编写程序的人直接调用了exit.(估计)
    第一个问题实在不知道。
      

  2.   

    我想那个是由DLL代码决定的,要看DLL具体的代码的。
      

  3.   

    那我想请教,DLL中的函数原本是拉起一个GUI的,我能在DLL中指定Gui要被以模态的形式调用嘛?
    如果能,假设一个最简单的界面,如何指定(虽然不关我的事情)?
      

  4.   

    请问再dll中的函数不都是Stdcall调用形式的吗?Cdecl是什么意思?还有什么别的调用方式?我是刚开始使用dll的,所以很多问题不明白,谢谢大家帮忙。
      

  5.   

    调用约定 参数传递顺序
    Register          从左到右
    Pascal 从左到右
    Stdcall 从右到左
    Cdecl 从右到左
    Safecall 从右到左---- 使用Stdcall 方式,能保证不同语言写的DLL的兼容性,同时它也是WINDOWS API的约定方式;Delphi 3。0、4。0的默认调用方式为Register ;Cdecl是采用 C/C++的调用约定,适用于DLL是由C++语言编写的;Safecall 是适合于声明OLE对象中的方法。