可以在delphi编的dll里显示一些信息,比如showmessage('running');不就知道情况如何了么.

解决方案 »

  1.   

    export时应该使用Stdcall DELPHI有别的方式么,
    问题一定出在VC那边,你看看吧,DELPHI写的DLL最标准
      

  2.   

    DLL中函数的参数使用了PChar和Integer,返回值使用pointer指针。
    在VC中我将这些类型对应定义为char *、Integer、和void *另外,DELPHI里的int 好象是long呀,
      

  3.   

    1)检查DLL和Delphi中申明的调用惯例(Call Convention)是否相同(缺省C++和Pascal是不同的,建议用stdcall)。
    2)检查LoadLibrary返回的句柄是否为0。
    3)检查GetProcAddress得到的地址是否为nil。
    4)在函数中设置断点(INT 3),或打印一些信息如xzisgood说的那样。
      

  4.   

    dll如果要被其他语言开发的程序使用,要声明外部函数为标准传参方式由右到左传递。要使用 stdcall关键字! 
      

  5.   

    问题搞定了,这时一个Windows Socket的通信程序,我没有将Socket的初始化函数
    int WSAStartup (
      WORD wVersionRequested,  
      LPWSADATA lpWSAData  
    );
    封装进DLL里,原来不是DLL的调用问题。问题解决了就是爽,分数大家分了吧