我用Delphi写了一个Windows服务程序,里面在启动时调用了一个dll程序进行解密配置文件,但是当我的调用dll的函数处理完后,函数返回的结果都是对的,但是在往下执行代码时,就不跑了,服务就退出了,好像执行完解密函数后,后面程序代码中对象的指针都没有了,不知道为什么,请大家看看该怎么解决

解决方案 »

  1.   

    郁闷 csdn的delphi 高手都去那里了,难说没有人能解决么,高手出来呀
      

  2.   

    非常感谢unsigned 我再看看程序,程序中应该没有访问如注册表等可能涉及到用户权限的东西,只是调用了一个用c写的dll中的加解密函数,调用一次解密函数,我看到打印出来的解密结果是对的,但是再往下处理服务就报错了,
    看了一下系统日志,报错如下
    事件 ID ( 0 )的描述(在资源( SmsServer1.exe )中)无法找到。本地计算机可能没有必要的注册信息或消息 DLL 文件来从远端计算机显示消息。您可能可以使用 /AUXSOURCE= 标识来检索词描述;查看帮助和支持以了解详细信息。下列信息是事件的一部分: 服务进程无法连接到服务控制器上。.
      

  3.   

    如果是调用dll错误,有可能是指针引用错误或者申请内存空间不足导致的。
    调试的时候,单独调试,也可能是您后段程序处理出错。
      

  4.   

    问题解决,是在project--option 选项中,compiler中去掉optionmination 选项就可以了