这种错误一般是内存使用不当,使用了没有分配的内存。
原因是你使用了edite.text这个东西是不能这样用的,你需要先
var
  s:string[200];
begin
  s:=edit.text;
  fun(longword(s));
end;
你是一是这样应该可以。

解决方案 »

  1.   

    #pragma comment(linker,"/export:Fun=_Fun") BOOL APIENTRY DllMain( HANDLE hModule, 
                           DWORD  ul_reason_for_call, 
                           LPVOID lpReserved
     )
    {
        return TRUE;
    }
    extern "C"  _declspec (dllexport) Fun(int x)
    {

        MessageBox(NULL,"ddd","FUck",1);
    }
    头文件extern "C"  _declspec (dllimport)  Fun(int x);
    只要调用时传送参数就会出错,不传参数就没问题。不知道是不是dll写的有问题。
    操作系统为win2000 server.