我用delphi写了一个dll,里面写了两个函数然后按顺序exports在另一个工程里调用
function ShowMes:integer;stdcall;external 'dll.dll';
function ShowMax(a,b: integer);stdcall;external 'dll.dll';
在函数执行第二个函数时,出现内存访问错误,这是为什么?

解决方案 »

  1.   

    http://tech.tom.com/Archive/2001/12/6-68444.html
      

  2.   

    function ShowMax(a,b: integer);***stdcall;external 'dll.dll';你的函数怎么没有返回值啊,是不是漏写了
      

  3.   

    我改了一下,把函数的调用方式改成register就好了
    我看了一下,delphi支持5中调用方式:register,cdecl,pascal;stdcall;safecall他们都有什么本质上的区别阿/我为什么改一下,就对了呢?书上说的都是stdcall调用方式阿
    ?????
      

  4.   

    register是delphi默认的入栈方式,是从左到右的,不指定也行。做dll要用stdcall,入栈是从右到左的,我猜你是在dll中没有加stdcall.检查你dll中的函数