这不是一个编程问题,而是一个配置问题。
我有一个用Delphi编写的EXE。不是我的。我可以直接从快捷方式运行它,而且运行良好。如果我试图设置一个Scheduled Task,它每次都会因而崩溃
模块[file]中[hex-address]处的访问冲突。读取地址00000000
无论我运行任务还是让计划运行任务,都会发生这种情况。
现在是有趣的部分。这种情况发生在Windows 7 32位上。它在WindowsXP上的任务调度程序中运行良好。
我启用了DEP,并将兼容性设置为XP sp3。我将Scheduler服务设置为与桌面交互,尽管它在7中并不可用。
为任务设置的用户与我登录的用户相同。
该程序设置为仅在用户登录时运行,因为它具有UI组件
我愿意尝试任何东西,因为负责这一点的供应商只告诉我它应该很好,我们从他们那里使用的所有其他项目都不会出现任何崩溃。
编辑:添加一些请求的信息:
1。如果是服务,则不需要任务调度程序。它是对数据库中存储的文档进行条形码扫描的常规GUI吗
2.供应商和我一样陷入困境。不愿意花很多精力来解决这个问题。我们今年要离开他们,所以这可能会成为一个悬而未决的问题。
消息中的错误地址(Read of address 00000000
)是一个空指针异常。在Delphi中,当您试图在创建对象实例(例如组件)之前访问它时,通常会发生这种情况。
除此之外,你没有提供任何可以用来帮助你解决问题的信息。您没有提供任何关于应用程序类型(服务、常规GUI应用程序、控制台应用程序)的信息,除了它是用Delphi编写的,有一个UI组件(Vista之前的服务是允许的),并且它是由Scheduler启动的。您有关于它的功能的信息,或者关于应用程序本身的任何其他详细信息,这些信息可能会有所帮助。
向供应商发送错误对话框的屏幕截图,并询问他们是否"工作正常"。建议他们投资一个异常处理包,如MadExcept
或EurekaLog
,它将以可读的格式为他们提供堆栈跟踪,您可以发送给他们,以便他们可以使用它来跟踪问题。如果他们不愿意这样做,就找一个新的供应商。