Запланированная задача вызывает нарушение прав доступа, но работает нормально
Это не столько вопрос программирования, сколько вопрос конфигурации.
У меня есть EXE, который был написан на Delphi. Не мой. Я могу запустить его прямо с ярлыка, и он работает нормально. Если я пытаюсь настроить запланированное задание, оно каждый раз вылетает
Нарушение доступа в [шестнадцатеричный адрес] в модуле [файл]. Чтение адреса 00000000
Это происходит независимо от того, запускаю ли я задачу или запускаю ее по расписанию.
Теперь самое интересное. Это происходит в Windows 7 32bit. Он отлично работает в планировщике задач на WindowsXP.
Я включил DEP и установил совместимость с XP sp3. Я настроил службу планировщика на Взаимодействие с рабочим столом, хотя она на самом деле недоступна в 7.
Пользователь, который настроен для этой задачи, является тем же пользователем, которым я вошел в систему.
Программа настроена на запуск только тогда, когда пользователь вошел в систему, так как она имеет компонент пользовательского интерфейса
Я готов попробовать что угодно, так как поставщик, ответственный за это, только говорит мне, что он должен работать нормально, и все остальные элементы, которые мы используем из них, работают без сбоев.
РЕДАКТИРОВАТЬ: Добавление некоторой запрашиваемой информации:
1. Если бы это была служба, ей не понадобился бы планировщик задач. Это обычный графический интерфейс, который выполняет сканирование штрих-кода документов, хранящихся в базе данных.
2. Продавец так же застрял, как и я. И не хочет прилагать много усилий, чтобы это исправить. Мы уходим от них в этом году, так что это может стать спорным вопросом.
1 ответ
Адрес ошибки в вашем сообщении (Read of address 00000000
) исключение нулевого указателя. В Delphi это обычно происходит, когда вы пытаетесь получить доступ к экземпляру объекта (например, компоненту) до его создания.
Кроме этого, вы не предоставили никакой информации, которая может помочь вам решить проблему. Вы не предоставили никакой информации о типе приложения (служба, обычное приложение с графическим интерфейсом, консольное приложение), за исключением того факта, что оно написано на Delphi, имеет компонент пользовательского интерфейса (какие сервисы до Vista были разрешены) и что оно запущен планировщиком. У вас есть информация о том, что он делает, или любые другие сведения о самом приложении, которые могут быть полезны.
Отправьте поставщику снимок экрана с диалоговым окном ошибки и спросите его, выглядит ли он "нормально работает". Рекомендовать, чтобы они инвестировали в пакет обработки исключений, как MadExcept
или же EurekaLog
это даст им трассировку стека в удобочитаемом формате, который вы можете отправить им, чтобы они могли использовать его для отслеживания проблемы. Если они не хотят этого делать, найдите нового продавца.