Delphi7的"Invalid pointer operation"异常的解决办法 
直接调试没有问题 拷贝到另外一台没有装delphi的电脑上 直接运行exe文件 就提示Invalid pointer operation  请问是怎么回事?

解决方案 »

  1.   

    另外的电脑,安装midas.dll没有?
      

  2.   

    这个问题经常看到。你在DLL中传递了String,是否引用了ShareMem?
    用FastMM跟踪一下有没有内存泄露,从内存泄露的地方着手查一下。
      

  3.   


    我就是用了FastMM   
    uses
      FastMM4,FastMM4Messages, 
    跟踪了一下没有内存泄露调用了VC++写的dll文件  并不知道是否引用了ShareMem?怎么办?
      

  4.   

    用FastMM  
    uses
      FastMM4,FastMM4Messages, 
    跟踪了一下没有内存泄露
      

  5.   


    请问midas.dll是什么 怎么用 应该放在哪里?或者说应该怎么安装?
      

  6.   

    你调用的函数看一下,是不是有楼上说的 在DLL中传递了String 的情况
      

  7.   

    其实,有时候用了ShareMem也不靠谱啊。
    另外,从你的描述感觉好像是一运行就报错?这个你检查下你申明动态库的参数入栈规则。stdcall?
    如果还没有问题,函数参数如果涉及字符串,就用PChar吧,这个更方便,在外边申请内存了再传进去。如果只是在Delphi内部使用,用String更灵活,如果要和DLL交互的话,就不要使用Stirng了。
      

  8.   

    谢谢大家 我调用的是用VC写的一个dll库啊   没法加上ShareMem啊